为什么Firefox随机停止加载< script>使用js动态添加标签?
在这张图片上,我动态加载这些脚本,然后将它们添加到dom中
在这张图片上,我动态加载这些脚本,然后将它们添加到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和/或使其成为最后加载的脚本以查看是否有帮助.