javascript - 通过回调或 google.load 或简单脚本 block 加载 Google API 之间有什么区别?

标签 javascript jquery google-maps

我认为可以通过三种不同的方式将 google API 加载到您的页面中:

1:使用一个简单的脚本 block 。喜欢

<script type="text/javascript" src="http:/googleapis.com/maps/file.js"></script>

2:在执行类似操作的地方使用回调

var sc = document.createElement("script");
     sc.type="text/javascript";
     sc.src = "http:/googleapis.com/maps/file.js&callback=func_Name";
    document.getElementsByTagName("head")[0].appendChild(script);

3: 然后使用像

这样的东西
 <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
              google.load("maps", "1");

我的问题:这三种方法之间是否存在显着差异,或者只是无关紧要。我可以在项目中使用搜索和 map API,我可以在项目中调用使用搜索 API 使用 google.load 和 map 作为脚本 block 吗?

最佳答案

第一个脚本 block 会阻塞,直到浏览器加载完脚本文件然后执行。您将能够在脚本 block 之后直接使用 map 。它是同步加载选项。

接下来的 2 个选项是异步的。

第二个选项指示谷歌地图初始化,然后调用回调参数指定的方法。通过这种方法,您可以决定何时是加载 map api 的最佳时间。因此,无论是按需还是在页面加载后。

第三种方法通过 google javascript 加载器加载 map api。它实际上为您提供了与第二个选项相同的好处,只是您不必手动编写脚本标记的插入。关于谷歌加载器的文档还说,当你调用它时你的页面应该已经加载了( https://developers.google.com/loader/ )。然而,在这种情况下,您加载了一个额外的文件,但您也可以使用它来加载其他库,例如查询。 google loader 还提供在第三个对象参数中指定回调参数,当脚本可用时将调用该回调参数。

关于javascript - 通过回调或 google.load 或简单脚本 block 加载 Google API 之间有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15331961/

相关文章:

r - 在 Shiny 的应用程序中绘制谷歌地图

R 传单 RStudio Viewer 空白(灰色)贴图 [Windows 7]

javascript - 将 CKEditor 重新聚焦到正确的光标位置

javascript - 模态不显示

javascript - AngularJS:基于链接输入字段的自定义验证

javascript - 是否可以使用 CSS 在 DOM 元素上为 SVG 背景设置动画?

jQuery:如何检测元素是否未被单击?

jquery - 在 Jquery 中的特定索引处输出 HTML

google-maps - google maps api infobox插件和多个标记

javascript - Number.toString 在 Firefox 和 Chrome 中的不同精度