js 判断用户是否联网

Posted 我要成为酷酷的人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js 判断用户是否联网相关的知识,希望对你有一定的参考价值。

第一种:

使用思路,online属性是一个只读的布尔值,声明了系统是否处于脱机模式。

function isOnLine() {
    var netStatus = "";
    if (window.navigator.onLine == true) {
        netStatus = "onLine";//网络链接正常
    } else {
        netStatus = "offLine";//网络连接失败
    };
    return netStatus;
};

调用方法 isOnLine()   // onLine  网络在线

调用方法 isOnLine()   // offLine  网络离线

但是,此方法存在问题,向我们使用的内网,虽然插网线,但是连接不了互联网,但是依然返回onLine 所以在内网情况下不适用。

第二种:

使用思路,加载一张网络图片,例如百度图标,加载失败的话提示网络链接异常,但是此方法加载速度过慢,代码如下:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>测试网络是否在线</title>
    </head>
    <body>
    <img id="img-test" style="display:none;" onerror="getImgError()"/>
    
    <script>
      window.onload = function() {
        var imgPath = "https://www.baidu.com/img/bd_logo1.png";
        var timeStamp = Date.parse(new Date());
        var imgTest = document.getElementById("img-test");
        imgTest.setAttribute("src", imgPath + "?timestamp=" + timeStamp);
        
        getImgError = function () {
          alert("网络连接异常")
        }
      }
    </script>
    </body>
</html>

图片响应会时间过慢,加载会有一定影响,暂时还未很好的解决。。。

以上是关于js 判断用户是否联网的主要内容,如果未能解决你的问题,请参考以下文章

Js判断是否联网引入不同js

JavaScript笔试题(js高级代码片段)

JS+JavaBean判断管理员增删改的操作权限

js判断登陆用户名及密码是否为空的简单实例

jQuery 是如何判断HTML页面加载完毕的?它的原理是啥?

VSCode自定义代码片段——JS中的面向对象编程