Skip to content

Rezepte ​

Hier sind häufig gewünschte Funktionen gesammelt, die aus konzeptionellen Gründen nicht in die Oberfläche aufgenommen werden.

ES6-Module ​

ES6-Module lassen sich nicht zwischen Regeln importieren oder exportieren, Module aus dem Internet können Sie aber verwenden, zum Beispiel so:

js
;(async () => {
  const { module } = await import("https://...")
  // your code is here
})()

Module wie in Version 2.x laden ​

Ab Version 3.x werden Module nach dem ersten Laden zwischengespeichert und nur manuell im Bearbeitungsfenster des Moduls aktualisiert. Sie werden nicht mehr über den DOM-Baum der Website geladen, sondern direkt in das Skript eingebettet.

Wenn ein Skript über das DOM geladen werden muss oder ein externes Skript häufig aktualisiert wird, verzichten Sie besser auf die Module der Erweiterung und laden es direkt per JS:

js
Promise.allSettled([
  loadScript("https://...js"),
  loadScript("https://...js"),
]).then(() => {
  // your code is here
})

function loadScript(src) {
  return new Promise(function (resolve, reject) {
    const script = document.createElement("script")
    script.src = src
    script.onload = resolve
    script.onerror = reject
    document.head.append(script)
  })
}