JavaScript:使用IF语句和navigator.onLine来检查Internet连接

时间:2012-12-28 14:54:19

标签: javascript networking navigator

我正在使用以下脚本来检查互联网连接。如果结果是“在线”或者结果是“离线”,我想要做些事情。

<body>
  <p><span id="status">checking...</span></p>

<script>
var statusElem = document.getElementById('status')

setInterval(function () {
  statusElem.className = navigator.onLine ? 'online' : 'offline';
  statusElem.innerHTML = navigator.onLine ? 'online' : 'offline';  
}, 250);
</script>
</body>

有什么想法吗?基本上我想使用IF语句:如果在线,那么,否则..

1 个答案:

答案 0 :(得分:1)

使用区间代码:

setInterval(function () {
    if(navigator.onLine) {
        statusElem.className = 'online';
        statusElem.innerHTML = 'online';
    } else {
        statusElem.className = 'offline';
        statusElem.innerHTML = 'offline';
   }
}, 250);

但是,使用online/offline event listeners

,您可以更优雅地做同样的事情
window.addEventListener("offline", function () {
    statusElem.className = 'offline';
    statusElem.innerHTML = 'offline';
}, false);

window.addEventListener("online", function () {
    statusElem.className = 'online';
    statusElem.innerHTML = 'online';
}, false);