通过回调或google.load或简单脚本块加载Google API有什么区别?

Mik*_*ike 7 javascript jquery google-maps

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

1:使用一个简单的脚本块.喜欢

<script type="text/javascript" src="http:/googleapis.com/maps/file.js"></script>
Run Code Online (Sandbox Code Playgroud)

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);
Run Code Online (Sandbox Code Playgroud)

3:然后使用像

 <script type="text/javascript" src="http://www.google.com/jsapi"></script> 
              google.load("maps", "1");
Run Code Online (Sandbox Code Playgroud)

我的问题:三种方法之间是否有任何显着差异,或者无关紧要.我可以在项目中使用搜索和地图API吗?我使用google.load调用use search API并将其映射为脚本块?

小智 0

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

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

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

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