非同步腳本載入後文件寫入執行失敗
非同步載入腳本時,載入的腳本在文件完全解析後執行關閉。此限制阻止在載入的腳本中使用 document.write()。
錯誤原因
錯誤訊息「無法寫入從非同步載入的外部腳本寫入文件」表示嘗試使用document.write() 寫入文件失敗,因為腳本是在文檔關閉後載入的。
替代 DOM 操作
要解決此問題,您需要使用明確 DOM 操作來取代任何 document.write() 語句。這涉及創建DOM 元素並使用以下方法將它們插入到父元素中:
範例
例如,不要在內聯腳本中使用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中文網其他相關文章!