建议通过谷歌的CDN-Content Delivery Network(内容分发网络)来让你的网站加载jquery库文件。有的同学可能会问了,为什么要加载谷歌的jquery库文件呢?(PS:我们一般不都是加载自己服务器上的jquery库文件的吗?)。呵呵~~其实我也和你们一样想的,也一直都是加载自己的服务器上的jquery文件。
下面来分析一下使用谷歌加载jquery库文件的好处。
1.减少等待时间
在网页中我们经常使用jQuery库,大家应该在感慨jquery的强大,也在感慨jquery的团队也是如此之强大,现在最新的jquery已经出到1.5.1版本了呢,但是让人很不爽的是即使是mini压缩过后的代码都有83.2KB。CDN-Content Delivery Network(内容分发网络)的缩写,通过各种各样的服务途径把你的一些静态内容分散开来,当用户的浏览器提交这些文件的链接请求,他们便会自动下载网络上最近的可用的文件。
因为这个原因:任何使用你的服务的用户从谷歌下载JQuery库都将获得比从你自己的服务器上下载更快的速度。其实有很多的CDN服务可与谷歌的相比拟,但是他们很难超越谷歌的免费服务的优势,这个益处足以决定问题,但这仅仅是一部分。
2.增加网页的同时载入速度
为了避免服务的过载,浏览器限制了同时连接的数目,依据不同的浏览器,这个限制可能是每个机房仅仅两个之少。使用谷歌的AJAX内容服务网络来响应你的网站,使你本地服务器上更多服务可以同时进行。这和用户同时用6个浏览器浏览的效果没多大诧异,但是(那些不这么做的人)任然是运行一个浏览器,仅仅允许同时链接两个(链接数目到你的服务器上),这里的区别显而易见。
3.更好的利用缓存
利用谷歌AJAX图书馆内容发布服务的最大好处是你的用户根本不需要下载jQuery.不论你的缓存多么强大,如果你用自己的服务器提供jQuery,那么你的用户至少要下载一次它,某个用户很有可能在他们浏览器的缓存区里下载了许多完全相同的jQuery.min.js的拷贝版本,但是当他们第一次访问你的网站的时候,这些拷贝版本会被忽略。
另一方面,当浏览器检测到同样版本的指向谷歌的链接,它就会知道这是下载同一个文件,不仅是谷歌的服务器会返回一个304(不需要修改文件的指令,即服务器上的文件未改动过)来回复一个重复的请求,而且会命令浏览器的缓存该文件长达一年的时间。这意味着即使一些人访问了数百的使用谷歌服务的jQuery网站,他们只需要下载一次就够了。
虽然谷歌的 jQuery 源相当的稳定,不过我们也不能保证其能随时访问,一旦谷歌服务器不能访问(这个可能性不大),那我们的网站岂不是也跟着遭殃?所以我们还要给它另外一个选择,让它根据条件加载 jQuery,加一个备用源,如下:
<SCRIPT type=text/javascript src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></SCRIPT> <script>!window.jQuery && document.write('<SCRIPT src="jquery-1.4.3.min.js"><\\/SCRIPT>');</script>
另外补充一点的是选择使用的jQuery加载源,能有效加快网站的加载速度,目前除了使用Google的Jquery源外,还可以使用Microsoft提供的CDN jQuery源,结合google和Microsoft提供的Jquery源的调用方式:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> <script type="text/javascript"> <!-- !window.jQuery && document.write('<script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js"><\/script>'); //--> <!-- !window.jQuery && document.write('<script src="jquery-1.4.3.min.js"><\/script>'); //--> </script>
也可以这样写:
<!-- document.write(unescape("%3Cscript src='http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); !window.jQuery && document.write(unescape("%3Cscript src='http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js' type='text/javascript'%3E%3C/script%3E")); //-->
然后保存到 jQuery.js 放在本地加载,文件很小,加载也快,变更版本也很方便。
其中第二个地址可以换成你本地的 jQuery 以保证链接稳定性。这样的意义是:先去加载谷歌的jquery库文件,如果加载失败那么就加载微软的 jquery 库文件。如果加载 google jquery 成功则会忽略后面的微软 jQuery 代码。
下面提供一下Google和Microsoft的Jquery源位置:
Google Ajax API CDN
http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
Google Ajax CDN Documentation
Microsoft CDN
http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.4.4.min.js
http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js
Ajax CDN Announcement, Microsoft Ajax CDN Documentation