"异步加载外部脚本"错误

时间:2016-02-15 00:22:32

标签: javascript

我的代码收到此错误"无法执行'写' on' Document':除非明确打开,否则无法从异步加载的外部脚本写入文档。"

我正在尝试从第三个网站加载每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);
}

请为此解决此问题吗?

1 个答案:

答案 0 :(得分:1)

尝试使用https://github.com/krux/postscribe插件。正如它在回购中提到的那样。

  

远程脚本(尤其是广告)阻止页面在加载时执行任何其他操作。它们对加载时间贡献很大的百分比,这会影响您的底线。异步广告不会阻止页面,并且可以在核心内容之后交付 - Async FTW。

     

为什么异步投放广告太难了?因为他们可能   包含对document.write的调用,希望对其进行处理   同步。 PostScribe可让您投放同步广告   异步,无需修改广告代码。