首页  >  文章  >  web前端  >  如何解决“无法从异步加载的外部脚本写入文档”错误?

如何解决“无法从异步加载的外部脚本写入文档”错误?

Barbara Streisand
Barbara Streisand原创
2024-10-20 14:07:02940浏览

How to Resolve

错误:“不可能从异步加载的外部脚本写入文档”

问题:

异步加载尝试使用 document.write() 修改文档时,脚本可能会导致问题。页面加载执行后,脚本会异步下载,但会失败并显示控制台消息“除非显式打开,否则无法从异步加载的外部脚本写入文档。”

说明:

异步加载的脚本在文档解析并关闭后执行。因此,诸如 document.write() 之类的操作在这些脚本中变得不可用。

解决方案:

要解决此问题,请使用显式 DOM 操作替换 document.write() 调用。这涉及创建 DOM 元素并使用appendChild()、insertBefore()或设置innerHTML将它们插入到父元素中。

示例:

原始脚本(内联,带有 document.html ) write()):

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

修改后的脚本(异步加载,使用 DOM 操作):

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

以上是如何解决“无法从异步加载的外部脚本写入文档”错误?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn