Ping Google以查看我们是否在线

时间:2015-01-29 04:07:55

标签: jquery google-maps

我正在使用iframe在我的网页(内联网)中嵌入Google地图。如果出于某种原因,用户没有连接到互联网,尽管页面仍应加载,只是没有地图。

我在考虑使用它:

    $.ajax({
        type: "GET",
        url: "http://www.google.com",
        timeout: "5000",
        error: function(msg) {
            $("#map").hide();
        }
    });

两个问题:

1)目前即使我在线也总是失败。

2)是否有更好的页面ping而不是google.com?也许有一个更好的轻量级Google API?

我做错了什么?

由于

2 个答案:

答案 0 :(得分:1)

问题是您使用$ .ajax调用从另一个域获取数据(出于安全原因,这会失败)。

这是一种方法。在你的身体标签前面:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

完整答案: Check if Internet Connection Exists with Javascript?

答案 1 :(得分:0)

另一种方法是设置服务器端代理并使用ajax从本地服务器端脚本检索结果。这将打开您关于如何使您的连接符合资格的选项。如果您选择使用任何终端命令或类似的任何命令,例如ping命令,我强烈建议您保护服务器端脚本(会话验证,请求速率限制等),因为地址将直接暴露在客户端脚本中。