为什么有2个jQuery库

时间:2016-10-10 12:08:24

标签: javascript jquery twitter-bootstrap

我是使用Bootstrap v4的新工作,在页脚中我看到有2个jQuery脚本。一个来自cdn我理解和一个​​本地。这条线的确切含义是什么:

<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>

当cdn中的脚本无效时,是否加载了此脚本?

1 个答案:

答案 0 :(得分:0)

这个双管道(||)是逻辑“或”运算符。如果已经在页面上加载了jQuery,则定义window.jQuery,因此表达式的这部分计算结果为true,而第二部分不计算。否则,将评估第二部分,并且该部分实际执行某事:script标记附加到文档,导致浏览器在给定的URL处加载资源。

在Bootstrap的主页(使用Bootstrap)上,我可以看到之前的行是:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.0.0/jquery.min.js" integrity="sha384-THPy051/pYDQGanwU6poAc/hOdQxjnOEXzbT+OuUAFqNqFjL+4IGLBgCJC3ZOShY" crossorigin="anonymous"></script>

所以,是的,这会尝试从CDN获取jQuery,如果它失败(例如服务器不可用),则下一行确保从本地副本加载jQuery。