首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Google AJAX Libraries CDN for jQuery

Google AJAX Libraries CDN for jQuery
EN

Stack Overflow用户
提问于 2010-03-03 08:25:12
回答 1查看 18.2K关注 0票数 4

我有一个页面,我需要SWFObject,jQuery和谷歌地图API。我想我可以使用使用的好处:

代码语言:javascript
复制
<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/)

代码语言:javascript
复制
google.setOnLoadCallback(function() {
    // Place init code here instead of $(document).ready()
});

而不是$(文档).ready()..这是真的吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-03 08:27:23

有两种使用Ajax Libraries API的方法。

首先,你可以使用谷歌来托管你的jQuery文件:

代码语言:javascript
复制
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

其次,您可以使用它来执行jQuery的异步加载,这就是您所指的。如果这样做,模式是:

代码语言:javascript
复制
<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被加载、文档准备就绪。

您必须在load回调中使用jQuery的原因是,在您运行Javascript时,它可能不会加载到其他任何地方,从而导致潜在的竞争条件和间歇性错误。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2367977

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档