我的 JavaScript(比如文件 1)需要从我的服务器获取另一个 JS 文件(比如文件 2)并让它在 DOM 渲染完成之前完成执行。文件 2 实际上是一个使用 document.write 的广告脚本(例如 AdSense)。我注意到,如果我通过从文件 1 中创建一个新脚本标记并将其附加到 DOM 的头节点(使用 DOM 操作方法)来获取文件 2,则广告在 firefox 中正确呈现,但在 IE 中不正确
研究表明,以这种方式动态附加到 DOM 的脚本可能会在 DOM 已经呈现后运行,在这种情况下,document.write 会覆盖整个页面。我有哪些选择?我能想到这些....其中哪一个可以保证让文件 2 在渲染完成之前操纵 DOM?
1) Document.write 文件 1 中文件 2 的脚本标签 2)xmlhttp同步调用(不确定这样会不会阻塞DOM渲染)
帮助:)
最佳答案
同步调用会阻止 DOM 渲染。
如果你不想阻塞,那么你可以做一个异步调用。
我会使用 document.write()
因为它会当场执行代码。不是在加载任何内容之后。
关于javascript - 将脚本写入 DOM 并在 DOM 完成渲染之前让它运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2053228/