Google Chrome开始在慢速网络上实施Blocking the load of cross-origin, parser-blocking scripts inserted via document.write in the main frame,这会导致以下错误:
通过document.write调用分析器阻塞的跨源脚本http://example.org/script.js。如果设备网络连接不良,浏览器可能会阻止此操作。
但是,我的网页需要使用document.write('<script src="..."></script>')
同步加载第三方脚本。如何规避封锁?
有关此更改的更多信息:
答案 0 :(得分:31)
根据Google Developers article,你可以:
<script src="..." async>
或element.appendChild()
,答案 1 :(得分:17)
@niutech 我遇到了由Cloudflare的 Rocket Loader Module 引起的类似问题。 只需为网站禁用它,它就会解决所有相关问题。
答案 2 :(得分:2)
不要使用document.write,这是解决方法:
var script = document.createElement('script');
script.src = "....";
document.head.appendChild(script);