问题

尝试载入 Google代管的jQuery (或其他Google托管的lib),但如果Google尝试失败,请加载我的jQuery副本?

我不是说Google是片状的.在某些情况下,Google副本被阻止(例如,显然在伊朗).

我会设置一个计时器并检查jQuery对象吗?

这两个副本的危险是什么?

不是真正寻找"只使用Google一个"或"只使用自己的"答案.我理解这些论点.我也明白,用户可能会有Google版本缓存.我正在考虑一般的云端回退.


编辑:此零件添加...

由于Google建议使用google.load加载ajax库,并在完成后执行回调,因此我想知道这是否是序列化此问题的关键.

我知道这听起来有点疯狂.我只是想弄清楚它是否可以以可靠的方式完成.


更新:jQuery现在托管在Microsoft的CDN上.

http://www.asp.net/ajax/cdn/



解决方法

您可以这样做:

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script>
   if (!window.jQuery) { 
      document.write('<script src="/path/to/your/jquery"><\/script>'); 
   }
</script>

这应该在你的页面的&lt; head&gt; ,并且任何jQuery ready事件处理程序应该在&lt; body&gt; ,以避免错误(虽然它不是傻瓜,证明!).

使用Google托管的jQuery的另一个原因是,在某些国家/地区,Google的域名被禁止.




相关问题推荐