Heim >Web-Frontend >js-Tutorial >Warum funktioniert Inline-JavaScript in Skript-Tags mit externen Quellen nicht?

Warum funktioniert Inline-JavaScript in Skript-Tags mit externen Quellen nicht?

Susan Sarandon
Susan SarandonOriginal
2024-10-24 03:38:31246Durchsuche

Why is Inline JavaScript Not Working in Script Tags with External Sources?

Laden von Skripten mit HTML-Skript-Tags

Das HTML-Skript-Tag wird zum Einbinden und Ausführen von JavaScript-Code verwendet. Standardmäßig akzeptiert dieses Tag ein externes Quellattribut, z. B. scr, um eine JavaScript-Datei zu laden. Versuche, Inline-JavaScript in das Skript-Tag einzubinden, sehen jedoch wie folgt aus:

<script src="myFile.js">
    alert( "This is a test" );
</script>

Schlagen stillschweigend fehl, ohne Fehler auszulösen.

Warum die Verwendung von Inline-JavaScript im Skript-Tag nicht funktioniert

Der Grund für dieses Verhalten ist, dass ein Skriptelement nur eine einzige Quelle laden kann, sei es extern oder inline. Wenn sowohl Quell- als auch Inline-Inhalt vorhanden sind, wird der Inline-Inhalt ignoriert. Deshalb:

<script src="script/addScript.js">
    addScript( "script/obj.js" );
    addScript( "script/home/login.js" );
</script>

Die angegebenen Skripte werden nicht geladen.

Lösung: Verwendung mehrerer Skriptelemente

Um mehrere Skripte zu laden, müssen Sie für jedes einzelne Skriptelemente verwenden :

<script src="script/obj.js"></script>
<script src="script/home/login.js"></script>

Alternativ können Sie ein übergeordnetes Skript erstellen, das die erforderlichen Skripte dynamisch lädt:

<script>
var scripts = ["script/obj.js", "script/home/login.js"];
for (var i = 0; i < scripts.length; i++) {
  var script = document.createElement("script");
  script.src = scripts[i];
  document.head.appendChild(script);
}
</script>

Zusätzliche Hinweise

Während Inline-JavaScript in Skriptelementen ignoriert wird Bei externen Quellen verbleibt der Inhalt des Skriptelements im DOM. Dies hat einige Entwickler dazu veranlasst, es zum Speichern von Daten zu verwenden, auf die externe Skripte zugreifen. Allerdings ist die Verwendung von Daten-*-Attributen für diesen Zweck im Allgemeinen ein geeigneterer und saubererer Ansatz.

Das obige ist der detaillierte Inhalt vonWarum funktioniert Inline-JavaScript in Skript-Tags mit externen Quellen nicht?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn