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

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

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

在文档完全解析并关闭后,异步加载的脚本可能会运行。因此,您不能

document.write()
在这样的脚本中使用(从技术上讲可以,但是它不会做您想要的事情)。

您将需要

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

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

<div id="container"><script>document.write('<span >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 >Hello</span>';


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5427442.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-11
下一篇 2022-12-11

发表评论

登录后才能评论

评论列表(0条)

保存