为什么我在document.write中链接我的jquery?

时间:2015-05-17 04:39:53

标签: javascript jquery

此代码的目的是什么:

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

而不是:

<script src="jquery-1.11.3.min.js"></script>

..将jquery链接到我的html文件时。

这可能是一个愚蠢的问题。我是网络开发的新手。当我使用第一个代码时,我的jquery将无法工作。当我把它切换到第二个代码时,它会加载,但它是毛病。我在</body>之前就有了这段代码。任何帮助是极大的赞赏。

3 个答案:

答案 0 :(得分:6)

当您从CDN加载jquery时,通常会使用该行代码,例如

<script src="//code.jquery.com/jquery-1.11.3.min.js"></script>

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

第二个脚本标记将检查是否定义了window.jQuery(这意味着脚本已成功从CDN加载)。如果没有加载本地存储的版本。

答案 1 :(得分:5)

第一个代码片的目的是检查jQuery是否已加载。这就是

window.jQuery || ....

说。 window.jQuery存在 OR 执行其他操作。

如果window.jQueryundefined,则

document.write('<script src="jquery-1.11.3.min.js"><\/script>')

加载jQuery。

当您动态加载HTML内容并且并不总是需要jQuery时,这可能很有用。如果事件的顺序没有确切地说明你何时需要jQuery,你可以在需要时明确地加载它。

答案 2 :(得分:2)

传统上,Javascript事件使用页面标记中的“onload”属性附加到文档。忘记这种做法。擦掉你的想法。 jQuery为我们提供了一个关于文档对象的特殊实用程序,名为“ready”,允许我们仅在DOM完全加载后执行代码。这是不显眼的DOM脚本的关键,因为它允许我们将我们的Javascript代码与我们的标记完全分开。使用$(document).ready(),我们可以排队一系列事件,并在初始化DOM之后执行它们。 这意味着我们可以为页面创建整个效果,而无需更改相关元素的标记。