2011-07-05 43 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> 

将锁定了几秒钟的浏览器。