我的代码出现此错误"无法对'文档'执行'写入':除非显式打开,否则无法从异步加载的外部脚本写入文档。
我正在尝试每 25 秒从第三个站点加载一次新的广告横幅。
mFl();
function mFl() {
if (document.getElementsByClassName('adposition').length > 0) { loadMe("adposition","http://third.tld/b?z=1&u=a&width=728&height=90"); }
setTimeout(mFl, 25000);
}
function loadMe(className, scriptName) {
var docHeadObj = document.getElementsByClassName( className )[0];
docHeadObj.innerHTML = "";
var ttt = Math.floor(Date.now() / 1000);
var dynamicScript = document.createElement("script");
dynamicScript.type = "text/javascript";
dynamicScript.src = scriptName+ "&uunique=" + ttt;
docHeadObj.appendChild(dynamicScript);
}
请问有什么解决方法吗?
尝试使用 https://github.com/krux/postscribe 插件。正如它在回购中提到的。
远程脚本(尤其是广告(会阻止页面在加载时执行任何其他操作。它们对加载时间的贡献很大,这会影响您的底线。异步广告不会阻止页面,可以在核心内容 - 异步 FTW 之后投放。
为什么异步投放广告如此困难?因为他们可能 包含对 document.write 的调用,该调用需要处理 同步。PostScribe 可让您投放同步广告 异步,无需修改广告代码。