Javascript JS脚本以随机顺序加载

Javascript JS脚本以随机顺序加载,javascript,firefox,Javascript,Firefox,我有一个简单的网站,加载了许多js文件。看起来是这样的: <meta charset="UTF-8" http-equiv="Content-Type"> <html> <head> <script src="1.js"></script> <script src="2.js"></script>

我有一个简单的网站,加载了许多js文件。看起来是这样的:

<meta charset="UTF-8" http-equiv="Content-Type">
<html>
    <head>
        <script src="1.js"></script>
        <script src="2.js"></script>
        <script src="3.js"></script>
        <script src="4.js"></script>
        <script src="5.js"></script>
    </head>
</html>
console.log("Loading 1.js");
Loading 1.js
Loading 2.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 1.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 2.js
将“1”替换为正确的数字

我预计控制台将如下所示:

<meta charset="UTF-8" http-equiv="Content-Type">
<html>
    <head>
        <script src="1.js"></script>
        <script src="2.js"></script>
        <script src="3.js"></script>
        <script src="4.js"></script>
        <script src="5.js"></script>
    </head>
</html>
console.log("Loading 1.js");
Loading 1.js
Loading 2.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 1.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 2.js
有时的确如此。但是,有时看起来是这样的:

<meta charset="UTF-8" http-equiv="Content-Type">
<html>
    <head>
        <script src="1.js"></script>
        <script src="2.js"></script>
        <script src="3.js"></script>
        <script src="4.js"></script>
        <script src="5.js"></script>
    </head>
</html>
console.log("Loading 1.js");
Loading 1.js
Loading 2.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 1.js
Loading 3.js
Loading 4.js
Loading 5.js
Loading 2.js
为什么会这样

我试图用
延迟
异步
来解决这个问题,但它们似乎没有任何效果

使用我的真实文件(不仅仅是最简单的示例),似乎更长的文件会在以后一直加载。我所见过的最早的最长文件加载(约200行)是9行中的第4行(当时应该加载),但它出现在每一个位置。类似地,最短的文件(16行)预计将加载到第5行,我观察到它将加载到第1到第5行


如何确保文件按我希望的顺序加载?

您可以使用的另一种技术是,仅在完成前一个脚本后,才将每个脚本附加到正文中

类似于。。。

听起来很奇怪。他们应该按照自己在DOM中的顺序加载,除非他们有
async
属性(这可能是不确定的,不确定)@CertainPerformance是的,我也是这么想的。这就是我问的原因。我通过将脚本标签放在前面解决了这个问题,但如果可能的话,我仍然希望得到答案。我自己尝试过,但无法重现问题。您是否有存在此问题的实时站点?您所描述的内容实际上不应该发生,web开发人员可以依靠较高的脚本在较低的脚本启动之前运行。听起来很可能有其他的东西在起作用(比如异步动作),但这不在问题中;这就是我所拥有的一切(