Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
HTMLScriptElement
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Juli 2015.
* Some parts of this feature may have varying levels of support.
HTML-<script>-Elemente stellen dieHTMLScriptElement-Schnittstelle bereit, die spezielle Eigenschaften und Methoden zum Manipulieren des Verhaltens und der Ausführung von<script>-Elementen bietet (über die geerbteHTMLElement-Schnittstelle hinaus).
JavaScript-Dateien sollten mit demtext/javascript-MIME-Typ bedient werden, aber Browser sind nachsichtig und blockieren sie nur, wenn das Skript mit einem Bildtyp (image/*), Videotyp (video/*), Audiotyp (audio/*) odertext/csv geliefert wird. Wenn das Skript blockiert wird, erhält sein Element einerror-Ereignis; andernfalls erhält es einload-Ereignis.
Hinweis:Wenn sie mit der MethodeDocument.write() eingefügt werden, führen<script>-Elemente aus (typischerweise synchron), aber wenn sie mitElement.innerHTML oderElement.outerHTML eingefügt werden, führen sie überhaupt nicht aus.
In diesem Artikel
Instanz-Eigenschaften
Erbt Eigenschaften von seinem Elternteil,HTMLElement.
HTMLScriptElement.attributionSrcSicherer KontextVeraltetRuft das Attribut
attributionsrcauf einem<script>-Element programmgesteuert ab und setzt es, was den Wert dieses Attributs widerspiegelt.attributionsrcgibt an, dass Sie möchten, dass der Browser einenAttribution-Reporting-Eligible-Header zusammen mit der Skriptressourcenanforderung sendet. Auf der Serverseite wird dies verwendet, um das Senden einesAttribution-Reporting-Register-Source- oderAttribution-Reporting-Register-Trigger-Headers in der Antwort auszulösen, um eine JavaScript-basierteAttributionsquelle bzw. einenAttributionstrigger zu registrieren.HTMLScriptElement.asyncEin boolescher Wert, der steuert, wie das Skript ausgeführt werden soll. Für klassische Skripte, wenn die
async-Eigenschaft auftruegesetzt ist, wird das externe Skript parallel zum Parsen abgerufen und ausgeführt, sobald es verfügbar ist. FürModulskripte, wenn dieasync-Eigenschaft auftruegesetzt ist, werden das Skript und alle seine Abhängigkeiten parallel zum Parsen abgerufen und ausgeführt, sobald sie verfügbar sind.HTMLScriptElement.blockingEine Zeichenfolge, die angibt, dass bestimmte Vorgänge beim Abrufen des Skripts blockiert werden sollen. Sie spiegelt das
blocking-Attribut des<script>-Elements wider.HTMLScriptElement.charsetVeraltetEine Zeichenfolge, die die Zeichenkodierung eines externen Skripts darstellt. Sie spiegelt das
charset-Attribut wider.HTMLScriptElement.crossOriginEine Zeichenfolge, die dieCORS-Einstellung für das Skriptelement widerspiegelt. Für klassische Skripte von anderenUrsprüngen steuert dies, ob Fehlerinformationen angezeigt werden.
HTMLScriptElement.deferEin boolescher Wert, der steuert, wie das Skript ausgeführt werden soll. Für klassische Skripte, wenn die
defer-Eigenschaft auftruegesetzt ist, wird das externe Skript ausgeführt, nachdem das Dokument geparst wurde, aber bevor dasDOMContentLoaded-Ereignis ausgelöst wird. FürModulskripte hat diedefer-Eigenschaft keine Wirkung.HTMLScriptElement.eventVeraltetEine Zeichenfolge; eine veraltete Methode zur Registrierung von Ereignishandlern auf Elementen in einem HTML-Dokument.
HTMLScriptElement.fetchPriorityEine optionale Zeichenfolge, die dem Browser einen Hinweis gibt, wie er die Priorisierung des Abrufs eines externen Skripts im Verhältnis zu anderen externen Skripten handhaben sollte. Wenn dieser Wert angegeben wird, muss er einer der möglichen erlaubten Werte sein:
high, um mit hoher Priorität abzurufen,low, um mit niedriger Priorität abzurufen, oderauto, um keine Präferenz anzugeben (was der Standard ist). Sie spiegelt dasfetchpriority-Attribut des<script>-Elements wider.HTMLScriptElement.innerTextEine Eigenschaft, die den Inline-Textinhalt des
<script>-Elements als gerenderten Text darstellt. Die Eigenschaft akzeptiert entweder einTrustedScript-Objekt oder eine Zeichenfolge.HTMLScriptElement.integrityEine Zeichenfolge, die Metadaten enthält, die ein Browser verwenden kann, um zu überprüfen, ob eine abgerufene Ressource ohne unerwartete Manipulation bereitgestellt wurde. Sie spiegelt das
integrity-Attribut des<script>-Elements wider.HTMLScriptElement.noModuleEin boolescher Wert, der, wenn er auf true gesetzt ist, die Ausführung des Skripts in Browsern, dieES-Module unterstützen, stoppt — verwendet, um Fallback-Skripte in älteren Browsern auszuführen, dienicht JavaScript-Module unterstützen.
HTMLScriptElement.referrerPolicyEine Zeichenfolge, die das
referrerPolicy-HTML-Attribut widerspiegelt und angibt, welcher Referer beim Abrufen des Skripts verwendet werden soll und bei Abrufen, die durch dieses Skript ausgeführt werden.HTMLScriptElement.srcEin
TrustedScriptURLoder eine Zeichenfolge, die die URL eines externen Skripts darstellt; dies kann als Alternative zur direkten Einbettung eines Skripts in ein Dokument verwendet werden. Sie spiegelt dassrc-Attribut des<script>-Elements wider.HTMLScriptElement.textEine Eigenschaft, die den Inline-Textinhalt des
<script>-Elements darstellt. Die Eigenschaft akzeptiert entweder einTrustedScript-Objekt oder eine Zeichenfolge. Sie funktioniert genauso wie dietextContent-Eigenschaft.HTMLScriptElement.textContentEine Eigenschaft, die den Inline-Textinhalt des
<script>-Elements darstellt. Die Eigenschaft wird vonNodeneu definiert, umTrustedScriptals Eingabe zu unterstützen. Auf diesem Element verhält sie sich genau wie dietext-Eigenschaft.HTMLScriptElement.typeEine Zeichenfolge, die den Typ des Skripts darstellt. Sie spiegelt das
type-Attribut des<script>-Elements wider.
Statische Methoden
HTMLScriptElement.supports()Gibt
truezurück, wenn der Browser Skripte des angegebenen Typs unterstützt, undfalse, andernfalls. Diese Methode bietet eine einfache und einheitliche Methode zur skriptbezogenen Feature-Erkennung.
Instanz-Methoden
Keine speziellen Methoden; erbt Methoden von seinem Elternteil,HTMLElement.
Ereignisse
Keine speziellen Ereignisse; erbt Ereignisse von seinem Elternteil,HTMLElement.
Beispiele
>Dynamisches Importieren von Skripten
Lassen Sie uns eine Funktion erstellen, die neue Skripte in einem Dokument importiert, indem ein<script>-Knotenunmittelbar vor dem<script> erstellt wird, das den folgenden Code (überdocument.currentScript) enthält. Diese Skripte werdenasynchron ausgeführt. Weitere Details finden Sie in den Eigenschaftendefer undasync.
function loadError(oError) { throw new URIError(`The script ${oError.target.src} didn't load correctly.`);}function prefixScript(url, onloadFunction) { const newScript = document.createElement("script"); newScript.onerror = loadError; if (onloadFunction) { newScript.onload = onloadFunction; } document.currentScript.parentNode.insertBefore( newScript, document.currentScript, ); newScript.src = url;}Diese nächste Funktion fügt, anstatt die neuen Skripte unmittelbar vor demdocument.currentScript-Element hinzuzufügen, diese als Kinder des<head>-Tags hinzu.
function loadError(oError) { throw new URIError(`The script ${oError.target.src} didn't load correctly.`);}function affixScriptToHead(url, onloadFunction) { const newScript = document.createElement("script"); newScript.onerror = loadError; if (onloadFunction) { newScript.onload = onloadFunction; } document.head.appendChild(newScript); newScript.src = url;}Beispiel zur Verwendung:
affixScriptToHead("myScript1.js");affixScriptToHead("myScript2.js", () => { alert('The script "myScript2.js" has been correctly loaded.');});Überprüfen, ob ein Skripttyp unterstützt wird
HTMLScriptElement.supports() bietet einen einheitlichen Mechanismus zur Überprüfung, ob ein Browser bestimmte Skripttypen unterstützt.
Das folgende Beispiel zeigt, wie man die Unterstützung für Module überprüft, indem die Existenz desnoModule-Attributs als Fallback verwendet wird.
function checkModuleSupport() { if ("supports" in HTMLScriptElement) { return HTMLScriptElement.supports("module"); } return "noModule" in document.createElement("script");}Klassische Skripte werden auf allen Browsern als unterstützt angesehen.
Spezifikationen
| Specification |
|---|
| HTML> # htmlscriptelement> |
Browser-Kompatibilität
Siehe auch
- HTML-
<script>-Element - HTML-
<noscript>-Element document.currentScript- Web Workers (Code Ausschnitte, die Skripten ähnlich sind, aber ineinem anderen globalen Kontext ausgeführt werden)