首頁  >  文章  >  web前端  >  非同步腳本載入後文件寫入執行失敗如何處理?

非同步腳本載入後文件寫入執行失敗如何處理?

Barbara Streisand
Barbara Streisand原創
2024-10-20 14:13:30141瀏覽

How to Handle Document Write Execution Failure After Asynchronous Script Loading?

非同步腳本載入後文件寫入執行失敗

非同步載入腳本時,載入的腳本在文件完全解析後執行關閉。此限制阻止在載入的腳本中使用 document.write()。

錯誤原因

錯誤訊息「無法寫入從非同步載入的外部腳本寫入文件」表示嘗試使用document.write() 寫入文件失敗,因為腳本是在文檔關閉後載入的。

替代 DOM 操作

要解決此問題,您需要使用明確 DOM 操作來取代任何 document.write() 語句。這涉及創建DOM 元素並使用以下方法將它們插入到父元素中:

  • .appendChild()
  • .insertBefore()
  • .innerHTML

範例

例如,不要在內聯腳本中使用document.write(),如下所示:

<code class="html"><div id="container">
<script>
document.write('<span style="color:red;">Hello</span>');
</script>
</div></code>

您可以使用在動態載入的腳本中新增以下程式碼:

<code class="javascript">var container = document.getElementById("container");
var content = document.createElement("span");
content.style.color = "red";
content.innerHTML = "Hello";
container.appendChild(content);</code>

或者,您可以設定容器的innerHTML:

<code class="javascript">var container = document.getElementById("container");
container.innerHTML = '<span style="color:red;">Hello</span>';</code>

透過使用這些替代的DOM 操作來取代document.write(document.write(document.write ) 語句技術,您可以確保非同步載入腳本的成功執行,同時仍實現所需的文件修改。

以上是非同步腳本載入後文件寫入執行失敗如何處理?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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