Skip to content

kapp.dom

Accès au DOM de l'overlay et chargement de scripts externes. Pour la plupart des cas, le DOM standard (document) suffit ; ce service ajoute surtout loadScript.

Service partagé appli + widget : API identique.

Quand l'utiliser (vs alternative)

  • loadScript() : charger une lib externe (confettis, anime.js…) avant de l'utiliser.
  • Pour manipuler le contenu, utilise directement document (le body est déjà accessible).

Méthodes

  • loadScript(url: string, element?: HTMLElement, id?: string): Promise<void> — injecte un <script src> et résout quand il est chargé. element par défaut = <head>. id évite les doublons (par défaut = l'URL). async.
  • head: HTMLElementdocument.head.
  • body: HTMLElementdocument.body.

Exemple (V2, exécutable)

js
// Charge canvas-confetti puis tire des confettis
await kapp.dom.loadScript('https://cdn.jsdelivr.net/npm/canvas-confetti@1/dist/confetti.browser.min.js');
if (window.confetti) {
    window.confetti({ particleCount: 150, spread: 80, origin: { y: 0.6 } });
}

Pièges

  • loadScript est async : await avant d'utiliser la lib (sinon le global n'existe pas encore).
  • Charge des libs depuis un CDN fiable (HTTPS). Réutilise un id stable pour éviter de recharger.
  • Le <body> est partagé : nettoie ce que tu ajoutes si l'exécution peut tourner plusieurs fois.