JavaScript异步脚本阻塞

时间:2013-06-17 16:02:45

标签: javascript asynchronous facebook-javascript-sdk nonblocking

我在加载connect.facebook.net/en_GB/all.js时遇到了问题。我不确定它是否发生在其他任何人身上,但这个脚本需要永远加载(有时不加载)。它甚至没有超时。 我有一个PHP脚本,它可以异步加载一些脚本,如下所示。即使这样做,问题仍然存在。只要脚本加载,document.readyState仍然是“交互式的”,因此我的domcontentloaded事件永远不会触发。

我在过去几天尝试过的不同网站,计算机和浏览器上随机出现此问题。

<script>(function(d, s, f){
    var a = d.getElementsByTagName(s)[0], i = f.length;
    while (i--) {
        j = d.createElement(s);
        j.src = f[i];
        j.async = true;
        a.parentNode.insertBefore(j, a);
    }
}(document, 'script', ['//connect.facebook.net/en_GB/all.js', '//platform.twitter.com/widgets.js', '//www.google-analytics.com/ga.js']));</script>

这是生成的脚本标记:

<script src="//connect.facebook.net/en_GB/all.js" async=""></script>

1 个答案:

答案 0 :(得分:0)

由于我暂时没有任何回应,我只会说我做了什么。 我仍然无法解决问题,但我有一个解决方法。我没有立即加载脚本,而是在加载DOM后加载它。我的DOMContentLoaded会触发,但onload仍然不会触发。