2011-07-05 69 views
1

我想以阻塞的方式在頁面中插入腳本(不幸的是,不能使用腳本標記的src屬性)。如果我在所有瀏覽器上通過document.write()插入標籤,它會阻止嗎?我知道這是一種糟糕的做事方式,但我真的需要它來阻止加載其他資源。目前我在做:is document.write blocking

document.getElementsByTagName('head')[0].appendChild(dynamic_script_tag_created_previously); 

但這不好,因爲它是一個異步的負載。

感謝您的閱讀和思考它:)

+0

異步加載是一個問題。我需要腳本同步加載,而不是相反。 – Marius

+1

'document.write'同步寫腳本。這對於有條件地加載腳本很有用。 – 2011-07-05 16:02:38

+0

你確定所有的瀏覽器都一樣嗎? – Marius

回答

1

是的,比如說:

<script> 
document.write('<!doctype html><html id="sanitized"><head>' 
+ document.head.innerHTML + '</head><body>' 
+ document.body.innerHTML + '</body></html>'); 
</script> 

將鎖定了幾秒鐘的瀏覽器。