一、什么是Google AJAX Libraries API?
Google AJAX Libraries API是Google的一个项目,它提供当前流行的各种Javascript库的快速引用方式。简单说就是 Google 把一些非常流行的JavaScript 框架放到 Google 的服务器上。这样大家来说可以充分利用 Google 的服务器资源,节省自己的网络带宽,更重要的是 Google 对这些框架进行了压缩,所以在使用 JavaScript 框架的时候速度方面有很大的提高。例如,不同网站都使用了Google中的jquery文件,当用户访问第一个网站时会下载该jquery库并存储在本地,用户以后访问的网站都不用再远程去请求加载jquery库文件,可以实现资源共享,加快界面渲染速度。
Google Ajax Libraries API 库地址:https://developers.google.com/speed/libraries/devguide?hl=zh-CN
总的来说,Google AJAX Libraries API 主要有以下优点(整理):
1、缓存(Cache) - 已针对主机做了正确的设定,下载过一次之后,js文件信息会缓存在使用者的电脑中。
2、Gzip - 如果使用者的浏览器支持 Gzip 压缩,则 Google 就会送出压缩过的资料,减少传输量。
3、提供最小化的版本,也就是JavaScript 内的空白、换行、程式变数都经过处理,让文件体积最小化。
4、Google 有自家的 CDN (内容分布式网络),会由最接近使用者的主机送出js文件信息,让传输速度加快。
5、处理的请求的硬件设备好,响应快。
6、使用者在不同网站之间浏览也不需重复下载相同的文件。
7、传送文件时不会传送多余的 header 资讯,例如 cookie,这样可以减少传输量,省下珍贵的带宽。
二、Google AjAX Libraries API 使用
使用Google AJAX Libraries API 引用 Javascript库有以下两种方式:
1、使用google提供的API进行导入:
<script src="http://www.google.com/jsapi?key=Goolge"></script> <script type="text/javascript"> google.load("jquery","1.3.2",{uncompressed:true}); google.setOnLoadCallback(initialize); function initialize(){ //函数或方法 } </script>
Note : google.load( librarieName , version , [ param ] )方法有3个参数:
(1) librarieName 参数( 必填 ): js库的名称,如 "jquery"、"extjs"、"jqueryui"、"prototype"、"dojo"、"swfobject" 等等。
(2) version 参数( 必填 ) : js库的版本, 如 "1.3.2"
(3)param 参数 ( 可选 ) : 设定是否使用压缩版本的库文件,如 {uncompressed:true} --未压缩版本
2、 直接引用google服务器上的Javascript库文件:
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
三、支持的Javascript库
目前 Google AJAX Libraries API 所支持的JS库相对还是比较少的,但是速度和稳定性却是相当高的,未来可预期的是还会有更多的JavaScript库加入到Google AJAX Libraries中,目前支持的Javascript库如下所示:
(1)jQuery
名称:jquery
支持的版本:2.0.3, 2.0.2, 2.0.1, 2.0.0, 1.10.2, 1.10.1, 1.10.0, 1.9.1, 1.9.0, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.2, 1.7.1, 1.7.0, 1.6.4, 1.6.3, 1.6.2, 1.6.1, 1.6.0, 1.5.2, 1.5.1, 1.5.0, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.6, 1.2.3
路径:http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js
路径(u):http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.js
网站:http://jquery.com/
注意:由于 1.2.5 和 1.2.4 在自然环境下的寿命短且不稳定,因此未进行托管。
(2)jqueryui
名称:jqueryui
支持的版本:1.10.3, 1.10.2, 1.10.1, 1.10.0, 1.9.2, 1.9.1, 1.9.0, 1.8.24, 1.8.23, 1.8.22, 1.8.21, 1.8.20, 1.8.19, 1.8.18, 1.8.17, 1.8.16, 1.8.15, 1.8.14, 1.8.13, 1.8.12, 1.8.11, 1.8.10, 1.8.9, 1.8.8, 1.8.7, 1.8.6, 1.8.5, 1.8.4, 1.8.2, 1.8.1, 1.8.0, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.0, 1.5.3, 1.5.2
路径:http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js
路径(u):http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.js
网站:http://ui.jquery.com/
注意:此库依赖于 jquery。载入此模块前,您必须先载入 jquery。
(3)prototype
名称:prototype
支持的版本: 1.7.1.0, 1.7.0.0, 1.6.1.0, 1.6.0.3, 1.6.0.2
路径:http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.3/prototype.js
网站:http://www.prototypejs.org/
(4)script.aculo.us
名称:scriptaculous
支持的版本:1.9.0, 1.8.3, 1.8.2, 1.8.1
路径:http://ajax.googleapis.com/ajax/libs/scriptaculous/1.8.2/scriptaculous.js
网站:http://script.aculo.us/
注意:此库依赖于 Prototype。载入此模块前,您必须载入 Prototype。
(5)MooTools
名称:mootools
支持的版本:1.4.5, 1.4.4, 1.4.3, 1.4.2, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.1.2, 1.1.1
路径:http://ajax.googleapis.com/ajax/libs/mootools/1.2.1/mootools-yui-compressed.js
路径(u):http://ajax.googleapis.com/ajax/libs/mootools/1.2.1/mootools.js
网站:http://mootools.net/
(6)Dojo
名称:dojo
支持的版本:1.9.2, 1.9.1, 1.9.0, 1.8.5, 1.8.4, 1.8.3, 1.8.2, 1.8.1, 1.8.0, 1.7.5, 1.7.4, 1.7.3, 1.7.2, 1.7.1, 1.7.0, 1.6.2, 1.6.1, 1.6.0, 1.5.3, 1.5.2, 1.5.1, 1.5.0, 1.4.5, 1.4.4, 1.4.3, 1.4.1, 1.4.0, 1.3.2, 1.3.1, 1.3.0, 1.2.3, 1.2.0, 1.1.1
路径:http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dojo/dojo.xd.js
路径(u):http://ajax.googleapis.com/ajax/libs/dojo/1.2.3/dojo/dojo.xd.js.uncompressed.js
网站:http://dojotoolkit.org/
(7)SWFObject
名称:swfobject
支持的版本:2.2, 2.1
路径:http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject.js
路径(u):http://ajax.googleapis.com/ajax/libs/swfobject/2.1/swfobject_src.js
网站:http://code.google.com/p/swfobject/
(8)Yahoo!
名称:yui
支持的版本:2.6.0
路径:http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yuiloader/yuiloader-min.js
路径(u):http://ajax.googleapis.com/ajax/libs/yui/2.6.0/build/yuiloader/yuiloader.js
网站:http://developer.yahoo.com/yui/
(9)Ext Core
名称:extjs
支持的版本:3.1.0, 3.0.0
路径:http://ajax.googleapis.com/ajax/libs/ext-core/3.1.0/ext-core.js
网站:http://www.sencha.com/products/extjs/
(10) Web Font Loader
名称:webfont
版本:1.5.0, 1.4.10, 1.4.8, 1.4.7, 1.4.6, 1.4.2, 1.3.0, 1.1.2, 1.1.1, 1.1.0, 1.0.31, 1.0.30, 1.0.29, 1.0.28, 1.0.27, 1.0.26, 1.0.25, 1.0.24, 1.0.23, 1.0.22, 1.0.21, 1.0.19, 1.0.18, 1.0.17, 1.0.16, 1.0.15, 1.0.14, 1.0.13, 1.0.12, 1.0.11, 1.0.10, 1.0.9, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1, 1.0.0
路径:http://ajax.googleapis.com/ajax/libs/webfont/1.5.0/webfont.js
网站:https://github.com/typekit/webfontloader
(11) AngularJS
名称:angular
支持的版本:1.2.8, 1.2.7, 1.2.6, 1.2.5, 1.2.4, 1.2.3, 1.2.2, 1.2.1, 1.2.0, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1
不稳定的版本:1.2.0-rc.3, 1.2.0-rc.2, 1.2.0rc1, 1.1.5, 1.1.4, 1.1.3
路径:http://ajax.googleapis.com/ajax/libs/angularjs/1.2.8/angular.min.js
网站:http://angularjs.org
(12)Chrome Frame
名称:CFInstall
支持的版本:1.0.3, 1.0.2, 1.0.1, 1.0.0
路径:http://ajax.googleapis.com/ajax/libs/chrome-frame/1.0.3/CFInstall.min.js
网站:https://developers.google.com/chrome/chrome-frame/