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 回调,并且在请求失败时触发它。
