2

我们的跟踪代码管理器今天出现故障,导致我们的网站爬网。由于标签管理器中的代码不是关键任务(分析等),有没有办法做类似下面的事情?

var extScript = document.createElement('script');
extScript.type = 'text/javascript';
extScript.src = 'http://third-party.com/scriptfile.js';
var s = document.getElementsByTagName('script')[0]; 
s.parentNode.insertBefore(extScript, s);

window.setTimeout(function () {
    // if script not loaded - "give up"
}, 3000); // 3 secs
4

2 回答 2

1

如果它不是关键任务,您可能希望在文档完全加载后将此脚本放在正文标记的末尾。

window.onload = function() {
  var extScript = document.createElement('script');
  extScript.type = 'text/javascript';
  extScript.src = 'http://third-party.com/scriptfile.js';

  document.body.appendChild(extScript);

}
于 2012-11-01T19:05:09.887 回答
0

How about adding async attribute?

<script async type = 'text/javascript' src = 'http://third-party.com/scriptfile.js' ></script>

this will not block, however you might run into some issues (like this one)

于 2015-01-30T12:02:15.900 回答