Heim > Web-Frontend > js-Tutorial > Hauptteil

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

Susan Sarandon
Freigeben: 2024-10-24 03:38:31
Original
142 Leute haben es durchsucht

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!