通过 document.write 调用一个解析器阻塞的跨源脚本——如何绕过它?
A Parser-blocking, cross-origin script is invoked via document.write - how to circumvent it?
Google Chrome 开始在慢速网络上实施 Blocking the load of cross-origin, parser-blocking scripts inserted via document.write in the main frame,这会导致以下错误:
A Parser-blocking, cross-origin script, http://example.org/script.js, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.
但是,我的网页需要使用 document.write('<script src="..."></script>')
同步加载第三方脚本。如何绕过封锁?
有关此更改的更多信息:
根据Google Developers article,您可以:
- 使用异步脚本加载,使用
<script src="..." async>
或element.appendChild()
,
- Submit the script provider to Google for whitelisting.
@niutech
我遇到了由 Cloudflare 的 Rocket Loader Module 引起的类似问题。
只需为网站禁用它,它就会解决您所有的相关问题。
不要使用 document.write,这是解决方法:
var script = document.createElement('script');
script.src = "....";
document.head.appendChild(script);
Google Chrome 开始在慢速网络上实施 Blocking the load of cross-origin, parser-blocking scripts inserted via document.write in the main frame,这会导致以下错误:
A Parser-blocking, cross-origin script, http://example.org/script.js, is invoked via document.write. This may be blocked by the browser if the device has poor network connectivity.
但是,我的网页需要使用 document.write('<script src="..."></script>')
同步加载第三方脚本。如何绕过封锁?
有关此更改的更多信息:
根据Google Developers article,您可以:
- 使用异步脚本加载,使用
<script src="..." async>
或element.appendChild()
, - Submit the script provider to Google for whitelisting.
@niutech 我遇到了由 Cloudflare 的 Rocket Loader Module 引起的类似问题。 只需为网站禁用它,它就会解决您所有的相关问题。
不要使用 document.write,这是解决方法:
var script = document.createElement('script');
script.src = "....";
document.head.appendChild(script);