关于cdn:使用谷歌托管的jQuery的最佳方式,但回到我在Google上的托管库失败

Best way to use Google's hosted jQuery, but fall back to my hosted library on Google fail

在Google(或其他Google托管的libs)上尝试加载托管的jquery,但如果Google尝试失败,那么加载我的jquery副本有什么好方法?

我不是说谷歌很脆弱。有些情况下谷歌的拷贝会被屏蔽(例如在伊朗)。

我可以设置一个计时器并检查jquery对象吗?

两份复印件都会有什么危险?

不是真的在寻找"只使用谷歌一号"或"只使用你自己的"这样的答案,我理解这些论点。我还了解到用户可能缓存了Google版本。我在考虑云计算的一般回退。

编辑:此部件已添加…

因为google建议使用google.load来加载Ajax库,并且在完成后执行回调,所以我想知道这是否是序列化这个问题的关键。

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

更新:jquery现在托管在微软的cdn上。

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


你可以这样做:

1
2
3
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js">

   window.jQuery || document.write('<script src="/path/to/your/jquery"><\/script>');

这应该出现在页面的中,任何jquery就绪的事件处理程序都应该出现在中,以避免错误(尽管这不是一个简单的证明!).

另一个不使用谷歌托管jquery的原因是,在某些国家,谷歌的域名被禁止使用。


迄今为止最简单、最干净的方法是:

1
2
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js">
window.jQuery || document.write('<script src="path/to/your/jquery"><\/script>')