如果不在线,从Google或本地加载jQuery

Jud*_*dyJ 19 html javascript css asp.net-mvc jquery

现在我的代码中有以下链接:

<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")" type="text/javascript"></script>
Run Code Online (Sandbox Code Playgroud)

等......

我想使用google.com缓存副本.我听说谷歌是最好的来源,但如果我错了,请纠正我.

无论如何,我可以编写我的应用程序代码,以便它使用谷歌中的代码(如果可用),如果没有,则使用本地代码.仅供参考我使用的是Microsoft MVC3和Msoft云服务器.

谢谢

isN*_*247 41

当然,看看他们是如何在HTML5样板中做到的.

如果您查看GitHub仓库中index.html文件底部,您将看到以下内容......

<!-- Grab Google CDN's jQuery, with a protocol relative URL; fall back to local if offline -->
<script src="//ajax.googleapis.com/ajax/libs/jquery/X.X.X/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="local/jquery-X.X.X.min.js">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)

注意:在上面的代码片段中,XXX应该替换为您正在使用的jQuery版本号(例如1.8.2).

它是如何工作的?

  1. 首先,尝试获取CDN版本(上面使用了Google的CDN网址,但当然您可以链接到您喜欢的任何来源).
  2. 紧接着,我们检查jQuery全局对象.
  3. 如果jQuery不存在,显而易见的假设是我们没有设法从CDN获取代码,因此我们document.write使用脚本标记从本地源获取副本.


jes*_*vin 8

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="@Url.Content("~/Scripts/jquery-1.4.4.min.js")">\x3C/script>')</script>
Run Code Online (Sandbox Code Playgroud)