[英]Google AJAX Libraries CDN for jQuery
我有一個頁面,我需要SWFObject,jQuery和Google Maps API。 我認為我可以使用以下好處:
<script type="text/javascript" src="http://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
<script type="text/javascript">
google.load("jquery", "1.4.1");
google.load("swfobject", "2.2");
google.load('maps', '2', {'callback': googleMapSetup });
</script>
但是現在我在某處讀到了( http://encosia.com/2008/12/10/3-reasons-why-you-should-let-google-host-jquery-for-you/ )我需要使用
google.setOnLoadCallback(function() {
// Place init code here instead of $(document).ready()
});
而不是$(document).ready()..這是真的嗎?
有兩種使用Ajax Libraries API的方法。
首先,您可以使用Google來托管您的jQuery文件:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
其次,您可以使用它來執行jQuery的異步加載,這就是您所指的。 如果你這樣做,模式是:
<script type="text/javascript" src="http://www.google.com/jsapi?key=INSERT-YOUR-KEY"></script>
<script type="text/javascript">
google.load("jquery", "1.4.2");
google.load("swfobject", "2.2");
google.load('maps', '2', {'callback': googleMapSetup });
google.setOnLoadCallback(function() {
$(function() {
// Place init code here instead of $(document).ready()
});
});
</script>
你必須使用google.setOnLoadCallback()
的原因是因為在這種情況下加載jQuery是異步的,所以你需要等待加載jQuery 並准備好文檔。
你必須在加載回調中使用jQuery的原因是因為它在你運行Javascript時可能無法在其他任何地方加載,從而導致潛在的競爭條件和間歇性錯誤。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.