网站搜索

php - 我想添加一个 Facebook 功能,当我的用户失去互联网连接时显示一条消息


可能重复:
JavaScript:如何检测互联网连接已断开?

在 Facebook 上,当你失去互联网连接时,你会看到一条信息:“没有网络连接。要重试吗?” 并且你的状态会从在线变为离线。我想在我的网站上实现这个功能。我该怎么做?

答案#1

这应该可以工作,但我可能会用不同的方式处理。它只是每15秒向你服务器上的一个页面发送一次查询。如果查询失败,那么它可能是离线的(要么是你,要么是服务器)。

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

test.php

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

我个人会为我的其他 Ajax 或轮询查询附加一个失败函数。如果这些失败了,我会触发离线消息,并停止进一步的轮询或查询,直到页面重新加载或经过一定的时间间隔。只是为了好玩而去轮询服务器是没有意义的。

答案#2

定期向您的服务器发送 Ajax 请求。如果请求失败,Ajax 引擎将调用“失败”回调。

但在现实生活中,你可能会给所有服务器端请求附加一个“失败”的 JavaScript 回调,并且在请求失败时触发它。