2

我想检查 javascript 在运行时是否存在网络连接。我正在使用 window.navigator.onLine 但它不起作用。

<script language="javascript">

alert(window.navigator.onLine);

</script>

它总是返回真

4

2 回答 2

0

你可以这样做:

if (navigator.onLine) {
    alert("online");
}

或如下:

var xhr = new XMLHttpRequest();
xhr.addEventListener('readystatechange', state_change, true);
xhr.open("GET", url, true);
xhr.send(null);

function state_change(){
   if(xhr.readyState == 4){
        if(xhr.status == 200){
          console.log('worked'); 
        } else if(xhr.status == 0) {
          console.log('no internet'); 
        } else {
          // Some other error
        } 
   }
}
于 2013-08-06T08:39:03.370 回答
0

您可以尝试使用具有短暂超时的 AJAX 调用并处理成功/错误。

于 2013-08-06T08:36:54.877 回答