【问题标题】:check if network connection exists in javascript [duplicate]检查javascript中是否存在网络连接[重复]
【发布时间】:2013-08-07 04:09:20
【问题描述】:

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

<script language="javascript">

alert(window.navigator.onLine);

</script>

它总是返回 true

【问题讨论】:

  • 您在哪个浏览器中?不同的浏览器有不同的实现。阅读此developer.mozilla.org/en-US/docs/Web/API/… 例如,在 chrome 中,如果您可以连接到路由器,它会认为您在线,即使您没有互联网连接

标签: javascript jquery


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    你可以这样做:

    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-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-07-16
      相关资源
      最近更新 更多