jQuery 从 CDN 使用 'defer' 加载时偶尔不可用

jQuery occasionally unavailable when loaded with 'defer' from CDN

在 Firefox 中使用 defer 属性从 CDN 加载时,我遇到了 jQuery 的偶发问题:

<script defer src="http://code.jquery.com/jquery-1.11.3.min.js" ></script>
<script defer src="http://localhost/bloomingtontutors/public/js/bootstrap-3.3.2.js" ></script>
<script defer src="http://localhost/bloomingtontutors/public/js/fuelux.js" ></script>
...

大多数时候,至少在我的开发服务器上,这工作得很好。然而,当我加载页面时,可能有五分之一的时间我从 Bootstrap、FuelUX 和几乎所有其他插件中收到错误,指出 jQuery 未定义:

我很惊讶,因为即使在这种情况下,如果我查看 Firefox 控制台中的时间戳,脚本似乎以正确的顺序加载。

这是怎么回事?这是 defer、Firefox 或 CDN 的问题,还是我做错了什么?

在 jQuery 中添加延迟的任何具体原因?

它不是依赖的,你可以试试把 defer 去掉。

<script src="http://code.jquery.com/jquery-1.11.3.min.js" ></script>
<script defer src="http://localhost/bloomingtontutors/public/js/bootstrap-3.3.2.js" ></script>
<script defer src="http://localhost/bloomingtontutors/public/js/fuelux.js" ></script>