首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >延迟加载Google API不起作用

延迟加载Google API不起作用
EN

Stack Overflow用户
提问于 2011-02-26 02:27:34
回答 5查看 1.2K关注 0票数 3

事情是这样的。我已经尝试了许多延迟加载Google Maps API JavaScript的方法,并且每次使用时,我都使用FireFox“块”。它在Chrome中可以很好地延迟加载。

我所说的“块”是指超文本标记语言中的元素不会显示,而是浏览器试图建立连接以下载地图JavaScript。

代码如下。将其放入HTML文件中并在浏览器中打开:

代码语言:javascript
复制
<html>
<head>
    <script type="text/javascript" src="http://github.com/rgrove/lazyload/raw/master/lazyload.js"></script>
</head>
    <body>
        Open your console. Wait for "entering debugger..." message.<br />
        You can't see me in FireFox, can you?
        <script type="text/javascript">
            // If I remove the `sensor` from the query string key and value, 
            // Google rejects the request and alert() does occur
            LazyLoad.js("http://maps.google.com/maps/api/js?sensor=false", function() {
                console.log("entering debugger...");
            });
        </script>
    </body>
</html>

在Chrome中,我看到“打开你的控制台...”页面的内容,并在后台异步请求和下载JavaScript。

在FireFox中,“打开您的控制台...”内容永远不会出现,它会挂起(状态栏显示“从Google DNS读取”),永远不会完成或显示页面内容。

EN

回答 5

Stack Overflow用户

发布于 2011-02-26 02:31:34

您确定需要编写自己的加载器吗?如果使用之前测试过的实现:Lazy Load

票数 1
EN

Stack Overflow用户

发布于 2011-03-01 01:01:55

您是否正在尝试按需加载Google地图?要动态加载应用编程接口,请传递一个回调参数,如Example上所示

票数 1
EN

Stack Overflow用户

发布于 2011-02-26 02:31:49

我认为您需要重命名您的LazyLoad脚本,因为it already exists. :)说到这里,它已经存在了,那么为什么还要重新编写它呢?

如果你只是想看看它是如何做到的,source code是可用的。

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

https://stackoverflow.com/questions/5121116

复制
相关文章

相似问题

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