簡體   English   中英

適用於jQuery的Google AJAX Libraries CDN

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM