gpt4 book ai didi

javascript - JS异步脚本执行失败

转载 作者:行者123 更新时间:2023-12-03 11:58:30 24 4
gpt4 key购买 nike

我想包含一个带有 javascript 的广告服务器 js 脚本并异步加载它。但每次尝试都会以警告结束,并且脚本不会执行。

我收到以下错误消息:“无法在‘文档’上执行‘写入’:除非显式打开,否则无法从异步加载的外部脚本写入文档。”

我尝试过以下变体:

    var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "http://example.com/test.js";
document.body.appendChild(script);

或者我使用了 HTML Script 属性 async

<script src="http://example.com/test.js" async></script>

但是没有任何效果,因为外部脚本使用 document.write。还有其他方法包含此类脚本吗?

如何“显式打开”页面(“除非显式打开” - 请参阅警告)?

最佳答案

一种方法是暂时覆盖 document.write 直到脚本执行,然后替换原始功能。

var tempDocWrite = document.write;
document.write = function(el){
var div = document.createElement('div');
div.innerHTML = el;
document.body.appendChild(div)
}

var script = document.createElement('script');
script.onload = function(){
document.write = tempDocWrite
}
script.type = 'text/javascript';
script.src = "http://example.com/test.js";
document.body.appendChild(script);

注意:尚未测试上述代码

关于javascript - JS异步脚本执行失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25501913/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com