jQuery/JavaScript Liberary在CDN失效时failover作法

像是Google、Microsoft都有提供像jQuery或是其他一些好用的JavaScript Library的CDN机制,让世界各地的人,在存取这些重複率极高的档案时,速度可以更快。

虽然CDN原则上是不会有存取不到的问题,但是天有不测风云,被闪电打中的机率也不是没有,所以使用时,如果有一个failover的机制,在CDN失败的时候,转读local端的档案,这样就万无一失了。
做法很简单,以jquery自家网站的作法来说明:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><script>!window.jQuery && document.write('<script src="http://code.jquery.com/jquery-1.4.2.min.js"><\/script>');</script>

第1行使用的是google cdn的网址

而一旦第1行执行失败,第2行 !window.jQuery的结果就会是true,然后就会去执行documwnt.write的内容,也就是写入自家网站host的jquery。

除了jquery之外,其他CDN host的JS档都可以如法泡製。

同场加映一个不错的JS CDN网站:http://www.cdnjs.com/,这里专注的是一些大型CDN较不放置的一些JS专案,在开发阶段拿来用还不错。如果要用上production,上面的作法好像就更实用了 :p


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章