javascript – 为什么当我动态加载脚本时,firefox随机停止加载标签脚本?

为什么Firefox随机停止加载< script>使用js动态添加标签?
在这张图片上,我动态加载这些脚本,然后将它们添加到dom中

>“/assets/js/lib/socket.io-1.3.6.js”
>“/assets/js/lib/tweenmax.min.js”
>“/assets/js/lib.js”
>“/assets/js/module.js”
>“/ assets / js / modules”

相当随机,结果就是这样,动态加载的随机脚本和其他脚本(7-15s之间)之间存在很大的滞后

我实际上加载了我的脚本

function(url,callback){
    var elem = document.createElement("script");
    elem.async = true;
    elem.src = url;
    elem.type = "text/javascript";
    elem.onload = callback;
    document.getElementsByTagName("body")[0].appendChild(elem);
}

编辑:
当我在我的html页面中添加脚本标签时,滞后不会出现,它只会在我使用JavaScript加载脚本时出现.但实际上我需要用JavaScript加载这些脚本.

有一个小小的错误https://jsfiddle.net/ccgb0hqr/
如果警报立即刷新页面,直到错误发生

解决方法

看起来像socket.IO可能需要一些时间来加载然后触发多个请求,这将阻止你的后续请求(Firefox会处理 6 at a time我相信)这恰好是对/socket.io/的请求量相同,它也可能也是解释bug的间歇性,因为其他请求可能在socket.io初始化之前或之后进入.

尝试排除socket.io和/或使其成为最后加载的脚本以查看是否有帮助.

您可能还想调查任何特定的socket.io错误,如this one.

相关文章

阅读本文之前,分享大家一张图片,看图会发现JavaScript开发...
Promises是一种关于异步编程的规范,目的是将异步处理对象和...
引子 Patrick Catanzariti 是一名Web开发工程师,最近他在 s...
小编吐血整理加上翻译,太辛苦了~求赞! 本文主要总结了Java...
微软于今日(2015年12月10日)宣布即将开源Chakra核心控件,...
通过统计数据库中的1000多个项目,我们发现在 JavaScript 中...