我是使用Bootstrap v4的新工作,在页脚中我看到有2个jQuery脚本。一个来自cdn我理解和一个本地。这条线的确切含义是什么:
<script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery.min.js"><\/script>')</script>
当cdn中的脚本无效时,是否加载了此脚本?
答案 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。