Google Ajax API統一了Google自己的JS庫和目前主流的JS庫,包括YUI、Ext.JS、Dojo、jQuery、SWFObject等,以及不同的版本,還有壓縮和不壓縮的,為開發者提供動态自動加載的特性,打開了一個新的局面。
加載
在Google網站上,提示需要API key才能使用,而實際上是不需要的,Google已經全部放開了,如下簡單代碼即可完成Google Ajax API的引用:
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
GoogleLoader
從其整體上看,Google Ajax API關鍵是Loader,各個JS庫均是以子產品的方式存在,通過動态加載,其規則為:
google.load(moduleName, moduleVersion, optionalSettings)
其中:
moduleName:子產品名;
moduleVersion:子產品版本;
optionalSettings:可選設定,屬性有:
callback:加載完成的回調;
language:加載子產品的UI語言;
nocss:bool類型,是否加子產品相關的CSS,預設為false;
packages:指定子產品使用過程中會涉及到的其它相關包;
base_domain:指定子產品的頂級域,如加載GoogleMap子產品maps時,指定域為ditu.google.cn,會自動加載中文版的地圖API;
other_params:其它參數,通過<script>标簽完成,細節參考Google網站。
目前不支援動态加載的JS庫有:
Friend Connect
Earth
gData
Orkut
它們不支援回調。
示例
加載子產品
<script type="text/javascript">
google.load("search", "1");
google.load("jquery", "1.4.2");
google.load("jqueryui", "1.7.2");
</script>
回調
function mapsLoaded() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
}
function loadMaps() {
google.load("maps", "2", {"callback" : mapsLoaded});
本文轉自 彭金華 51CTO部落格,原文連結:http://blog.51cto.com/pengjh/611836