代码之家  ›  专栏  ›  技术社区  ›  janhartmann

谷歌地图API-缓慢加载的javascript

  •  11
  • janhartmann  · 技术社区  · 15 年前

    我正在使用谷歌地图API在某个页面上显示地图。

    问题是文件 http://maps.google.com/maps?file=api..... 有时加载速度很慢——降低了页面的性能,因为javascript的其余部分第一次加载到文档就绪状态,而文档就绪状态很少达到——因为浏览器锁定等待来自Google的文件。

    我尝试将javascript文件从 <head> 在我的内容下标记到。但其他的javascript永远不会被触发,因为浏览器等待来自Google的文件。

    有没有办法解决这个问题,或者其他人也遇到过同样的问题?这是最近开始的,我不知道为什么。

    这是我的代码,如果有人感兴趣:

    <script type="text/javascript" src="http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew">    </script>
    <script type="text/javascript" src="/js/maps.js"></script>
    <script type="text/javascript">
        $(document).ready(function() {
        // Google Maps
        initialize();
    
        // Other JavaScript comes here....
    
       });
    </script>
    

    如果我进入

    http://maps.google.com/maps?file=api&amp;v=2&amp;sensor=true&amp;key=ABQIAAAAa24xicak8_ghHX58i7La7hRFh9iM79SNC94rOejOtdMRvQmJiBS6Uv5F_1BNSh9ZuSzFXyekHISgew
    

    文件立即加载。

    3 回复  |  直到 15 年前
        1
  •  16
  •   janhartmann    15 年前

    这是一个相当古老的问题-解决方法是禁用Firebug(至少对我来说)。

        2
  •  12
  •   viam0Zah    15 年前

    使用谷歌的Ajax API。过去的一段时间里,谷歌的所有服务都可以通过JavaScriptAPI访问。它是一个模块化系统,你只需要包含JSAPI库,然后你就可以动态地加载你需要的模块,它不会阻塞你的站点。

    <script type="text/javascript"        
            src="http://www.google.com/jsapi?key=ABCDEFG"></script>
    <script type="text/javascript">
    google.load("maps", "2");
    google.setOnLoadCallback(function() {
        // Your logic goes here.
        // It will be run right after the maps module was loaded.
    });
    </script>
    

    有关详细信息,请参阅 JSAPI's developer documentation .

        3
  •  3
  •   Nael El Shawwa    15 年前

    在JavaScript优化上:总是将JS放在甚至地图API脚本的底部。我真的想不出有什么好的理由在头脑中有任何JS。