可能重复:
JavaScript: How to detect that the Internet connection is offline?
在Facebook中,当您松开互联网连接时,您会看到一条消息“没有互联网连接。请重试?”并且您从在线更改为离线。我希望在我的网站上。我怎么能这样做?
答案 0 :(得分:4)
这应该可行,但我可能会以不同的方式处理它。它只是每隔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或轮询查询中。如果那些失败,我将触发离线消息并停止进一步轮询或查询,直到重新加载页面或在一定时间间隔之后。仅仅轮询服务器就没有任何意义。
答案 1 :(得分:3)
向您的服务器运行定期ajax请求。如果请求失败,则ajax引擎将调用“fail”回调。
但在现实生活中,您可能会将“失败”的javascript回调附加到服务器端的所有请求,并且会在失败的请求时触发。