我的JavaScript(比如文件1)需要从我的服务器获取另一个JS文件(比如文件2),并在DOM完成渲染之前完成执行。文件2实际上是一个使用document.write的广告脚本(例如AdSense)。我注意到如果我通过从文件1中创建一个新脚本标记并将其附加到DOM的头节点(使用DOM操作方法)来获取文件2,则广告在Firefox中正确呈现,但不在IE中呈现
研究表明,以这种方式动态附加到DOM的脚本可以在DOM已经呈现之后运行,在这种情况下,document.write会覆盖整个页面。我有什么选择?我可以想到这些......哪一个可以保证文件2在完成渲染之前操作DOM?
1)Document。从文件1中写入文件2的脚本标记 2)Xmlhttp同步调用(不确定这是否阻止DOM进行渲染)
帮助:)
答案 0 :(得分:2)
同步调用会阻止DOM呈现。
如果你不想阻止,那么你可以进行异步调用。
我会使用document.write()
,因为它会执行代码。没有任何东西加载。