首頁  >  文章  >  web前端  >  為什麼內嵌 JavaScript 無法在具有外部來源的腳本標籤中運作?

為什麼內嵌 JavaScript 無法在具有外部來源的腳本標籤中運作?

Susan Sarandon
Susan Sarandon原創
2024-10-24 03:38:31143瀏覽

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

使用 HTML 腳本標籤載入腳本

HTML 腳本標籤來包含和執行 JavaScript 程式碼。預設情況下,此標記採用外部來源屬性,例如 scr 來載入 JavaScript 檔案。但是,嘗試在腳本標記中包含內聯 JavaScript,如下所示:

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

靜默失敗而不拋出錯誤。

為什麼在腳本標記中使用內聯 JavaScript 不起作用

出現此行為的原因是腳本元素只能載入單一來源,無論是外部來源還是內聯來源。當 src 和內聯內容同時存在時,內聯內容將被忽略。因此:

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

不會載入指定的腳本。

解決方案:使用多個腳本元素

要載入多個腳本,您需要為每個腳本使用單獨的腳本元素:

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

或者,您可以建立一個動態載入必要腳本的父腳本:

<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>

附加說明

雖然腳本元素中會忽略內聯JavaScript對於外部來源,腳本元素的內容保留在DOM 中。這促使一些開發人員使用它來儲存外部腳本存取的資料。然而,為此目的,使用 data-* 屬性通常是更合適、更簡潔的方法。

以上是為什麼內嵌 JavaScript 無法在具有外部來源的腳本標籤中運作?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn