gpt4 book ai didi

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

转载 作者:数据小太阳 更新时间:2023-10-29 04:52:25 25 4
gpt4 key购买 nike

为什么 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/模块”

非常随机,结果是这样的,动态加载的随机脚本与其余脚本之间有很大的滞后(在 7-15 秒之间)

Pic of firebug which show the timeline loading ressources

我实际上是这样加载我的脚本的

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 加载这些脚本。

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

最佳答案

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

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

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

关于javascript - 为什么当我动态加载脚本时,firefox 随机停止加载标签脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34439367/

25 4 0