我想检查URL上的服务器是否正在响应,然后设置我的<的文本。 p>标记到服务器在线'或者'服务器处于脱机状态'。
我可以在我的服务器上创建一个返回ex的页面。 '成功'作为一个纯文本。如果我的javascript可以捕获此消息,它应该写“服务器在线”,否则它应该尝试连接最多5秒或更长时间,然后写一条消息'服务器处于脱机状态'。
我尝试了this answer中的代码,但是在1500毫秒后它就会脱机。
value[1]=1;
value[2]=32;
value[3]=76
...
答案 0 :(得分:1)
您可以尝试此解决方案,这里我使用图像加载事件来跟踪连接状态。
(function(win) {
var _ = {};
_.win = win;
_.doc = _.win.document;
_.status = _.doc.createElement('div');
_.status.className = "hide";
_.status.innerHTML = "You are now offline !";
_.doc.getElementsByTagName('body')[0].appendChild(_.status);
_.img = new Image();
_.loop = function() {
_.win.setTimeout(_.nextSrc, 5000);
};
_.onLine = function() {
_.status.className = "hide"; // hide
_.loop();
};
_.offLine = function() {
_.status.className = "net-err"; // show
_.loop();
};
_.img.onload = _.onLine;
_.img.onerror = _.offLine;
_.nextSrc = function() {
_.img.src = "https://raw.githubusercontent.com/arvind-web-corner/offline-status/gh-pages/blank.png?" + _.win.Math.random();
};
_.loop();
})(window);

* {
font-family: Calibri, Arial !important;
}
.net-err {
width: 100%;
display: block;
z-index: 999;
padding: 15px 10px;
background: rgb(255, 9, 9);
color: #fff;
font-weight: bold !important;
text-align: center;
position: fixed;
top: -1px;
left: -1px;
border: 1px solid #ddd;
font-size: 30px;
opacity: 0.9;
filter: alpha(opacity=90);
/* IE */
}
.hide {
display: none;
}

<!DOCTYPE html>
<html>
<head>
<title>Status</title>
</head>
<body>
<h1>This page will be tracking your internet connection</h1>
<h2>You will be notified when you loose connection</h2>
<h3>e.g. Go to File > Work Offline</h3>
</body>
</html>
&#13;