google 动态加载api 不仅仅可以加载自产的ajax模组,同时也可以加载众多流行的三方模组,如jQuery, dojo,yui等等。本文将对此动态加载方式做一个简单介绍。
这种动态加载方式很简单,首先包含google动态加载api本身的.js文件,代码如下:
然后用google.load(模块名字,版本号)加载模组比如:
最后一步很重要,我们要运行google.setOnLoadCallBack(你的初始函数)。为什么要运行这个函数呢?因为你自己的初始函数里如果调用了尚未加载完成的模块中的代码,浏览器就会报错,你的ajax程序就中断停止运行了。
一个完整的实例是:
下面的url列出了google loader api 可以加载的模组及其版本号。
加载自产的组件:
[url]http://code.google.com/apis/ajax/documentation/[/url]
加载第三方组件:
[url]http://code.google.com/apis/ajaxlibs/documentation/[/url]
这种动态加载方式很简单,首先包含google动态加载api本身的.js文件,代码如下:
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
然后用google.load(模块名字,版本号)加载模组比如:
google.load("maps","2"); //加载gmap
google.load("search","1");//加载search
google.load("jquery","1.3.2");//加载jquery
google.load("dojo","1.3.0");//加载dojo
最后一步很重要,我们要运行google.setOnLoadCallBack(你的初始函数)。为什么要运行这个函数呢?因为你自己的初始函数里如果调用了尚未加载完成的模块中的代码,浏览器就会报错,你的ajax程序就中断停止运行了。
一个完整的实例是:
<html>
<head>
<script type="text/javascript"
src="http://www.google.com/jsapi?key=ABCDEFG"></script>
<script type="text/javascript">
google.load("maps", "2");
google.load("search", "1");
// Call this function when the page has been loaded
function initialize() {
var map = new google.maps.Map2(document.getElementById("map"));
map.setCenter(new google.maps.LatLng(37.4419, -122.1419), 13);
var searchControl = new google.search.SearchControl();
searchControl.addSearcher(new google.search.WebSearch());
searchControl.addSearcher(new google.search.NewsSearch());
searchControl.draw(document.getElementById("searchcontrol"));
}
google.setOnLoadCallback(initialize);
</script>
</head>
<body>
<div id="map" style="width: 200px; height: 200px"></div>
<div id="searchcontrol"></div>
</body>
</html>
下面的url列出了google loader api 可以加载的模组及其版本号。
加载自产的组件:
[url]http://code.google.com/apis/ajax/documentation/[/url]
加载第三方组件:
[url]http://code.google.com/apis/ajaxlibs/documentation/[/url]