2010-01-12 23 views
4

我的JavaScript(比如文件1)需要從我的服務器上獲取另一個JS文件(比如文件2),並把它執行完畢的DOM完成渲染之前。文件2實際上是一個使用document.write的廣告腳本(例如AdSense)。我注意到,如果我從文件1中創建一個新的腳本和(使用DOM操作方法)追加到DOM的頭節點獲取文件2,廣告正確呈現在Firefox,而不是在IE編寫腳本DOM並讓它運行之前完成DOM渲染

研究表明,以這種方式動態追加到DOM的腳本可能會在DOM已經渲染後運行,在這種情況下,document.write會覆蓋整個頁面。我有什麼選擇?我可以想到這些......這些中的哪一個保證讓File 2在完成渲染之前操縱DOM?

1)從文件1 2)XMLHTTP同步調用(不知道這阻止渲染DOM)

幫助:)

+0

你打算接受一個答案還是有什麼我失蹤? – 2010-01-21 22:39:20

回答

2

同步調用做內文件撰寫的文件2腳本標記阻止DOM渲染。

如果你不想阻塞,那麼你可以做一個異步調用。

我會使用document.write(),因爲它會在那裏執行代碼。不是在加載任何東西之後。