在Firefox中无法正确加载外部javascript文件,或者有时根本无法加载

在Firefox中无法正确加载外部javascript文件,或者有时根本无法加载,javascript,firefox,Javascript,Firefox,我遇到了一个奇怪的问题,通过查看开发人员工具,我似乎无法解决这个问题。当我查看Firefox中的“网络”选项卡时,我的所有javascript文件似乎都在加载,但每次刷新时,我的一两个javascript文件似乎都无法正常运行 我非常困惑是什么导致了这一切。在关闭标记之前,我正在加载html文档底部的所有标记。是否有其他地方我应该为firefox加载它们?当我在我的dev服务器上测试时,一切都可以正常加载,但是当我将它上传到AppEngine时,我的一些js文件选择不加载 firefox的超时或

我遇到了一个奇怪的问题,通过查看开发人员工具,我似乎无法解决这个问题。当我查看Firefox中的“网络”选项卡时,我的所有javascript文件似乎都在加载,但每次刷新时,我的一两个javascript文件似乎都无法正常运行

我非常困惑是什么导致了这一切。在关闭
标记之前,我正在加载html文档底部的所有
标记。是否有其他地方我应该为firefox加载它们?当我在我的dev服务器上测试时,一切都可以正常加载,但是当我将它上传到AppEngine时,我的一些js文件选择不加载

firefox的超时或加载顺序是否有一些奇怪的事情需要我注意?或者我在某个地方关掉的随机设置?我似乎也找不到关于这件事的任何文件,所以任何与阅读相关的链接都将不胜感激


谢谢

要明确的是,这不是Firefox特有的问题,FF恰好是您遇到它的浏览器。在运行时加载js资产时,这是一个常见问题

tl:dr

如果您从不同的位置加载资产,这可能会导致运行时不一致,那么即使您从相同的位置请求两个独立的资产,您也可能会遇到问题,因为它们发生在不同的请求中,并且取决于网络性能

备选方案一:

合并呈现不一致的js资产。 因此,如果您正在加载以下内容:

<script src="jquery.js"></script>
<script src="modal.js"></script>
<script src="widget.js"></script>
  • jquery.js
  • script-one.js
  • script-two.js
然后将它们合并为一项资产:

  • jquery.js
  • scripts.js
备选方案二:

使用模块系统,如或

更长的答案

如果您在运行时将资产加载到浏览器中,而这些资产需要彼此加载才能正常工作,那么如果您不使用任何类型的模块加载程序或构建过程来缓解解决方案,则始终存在一定程度的风险

比如说你必须面对以下情况

您有jquery和三个插件,它们需要按特定顺序加载。仅仅因为标签是按特定顺序堆叠的,并不保证它们在运行时的可用顺序。采取以下行动:

<script src="jquery.js"></script>
<script src="modal.js"></script>
<script src="widget.js"></script>

它们很可能会加载jquery>widget>modal,然后在下一次加载jquery>modal>widget。看起来好像有人在打扰你,但那只是万维网在做它的事情。正如我上面所说的,有一些解决这个问题的常用方法已经得到了很好的审查,我建议对它们进行研究。这也是ES6的主要功能之一,人们对此非常兴奋


希望这能清除你的小精灵!干杯。

你能添加一个产生这种行为的工具吗?“我应该在其他地方为firefox加载它们吗?”不。除此之外,如果没有更多的信息,我们无法帮助你。我会尝试整合我的js文件,我现在有7个(旧网站,eek)。谢谢你的链接,browserify看起来很有前途