我认为可以通过三种不同的方式将 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/