6

可能重复:
JavaScript:如何检测 Internet 连接是否离线?

在 facebook 中,当您断开互联网连接时,您会看到一条消息“没有互联网连接。再试一次?” 你从在线变为离线。我想要在我的网站上。我怎样才能做到这一点?

4

2 回答 2

4

这应该有效,但我可能会以不同的方式处理它。它只是每 15 秒向服务器上的一个页面发送一个查询。如果查询失败,那么它可能处于脱机状态(您或服务器)。

function checkOnline(){
    $.ajax({
        url: "test.php",
    }).done(function( html ) {
        if(html=='ok')
            setTimeout('checkOnline()',15000);
        else
            alert('Error');
    }).fail(function(){
        alert('Offline');
    });
}

测试.php

<?php exit('ok'); ?>

我会亲自将失败函数附加到我的其他 Ajax 或轮询查询。如果这些失败,我会触发离线消息并停止进一步的轮询或查询,直到页面重新加载或在某个时间间隔之后。仅仅轮询服务器是没有意义的。

于 2012-12-30T04:46:06.150 回答
3

对您的服务器运行定期 ajax 请求。如果请求失败,ajax 引擎将调用“失败”回调。

但在现实生活中,您可能会将“失败”javascript 回调附加到对服务器端的所有请求,并且它会在请求失败时触发。

于 2012-12-30T04:45:46.617 回答