您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在doc上执行写入:除非已明确打开,否则无法从异步加载的外部脚本写入文档。

在doc上执行写入:除非已明确打开,否则无法从异步加载的外部脚本写入文档。

在文档完全解析并关闭后,异步加载的脚本可能会运行。因此,您不能document.write()在这样的脚本中使用(从技术上讲可以,但是它不会做您想要的事情)。

您将需要document.write()通过创建DOM元素,然后使用.appendChild()or.insertBefore()或设置.innerHTML或某种直接DOM操作的机制将它们插入到特定的父级中,从而用显式DOM操作替换该脚本中的任何语句。

例如,代替内联脚本中的此类代码

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

您可以使用它来替换上面的内联脚本,以动态加载脚本:

var container = document.getElementById("container");
var content = document.createElement("span");
content.style.color = "red";
content.innerHTML = "Hello";
container.appendChild(content);

或者,如果容器中没有需要附加的其他内容,则可以简单地执行以下操作:

var container = document.getElementById("container");
container.innerHTML = '<span style="color:red;">Hello</span>';
其他 2022/1/1 18:22:24 有509人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶