HTML5 - 网络状态API

网络状态属性

window.navigator.onLine 返回浏览器的网络状态。联网状态时返回true,断网状态时返回false。
注意:各浏览器对该属性的实现有些不同。
在Chrome和Safari中,如果浏览器连接不上局域网 (LAN)或者路由器,就是断网状态;否则就是联网状态。所以当该属性值为false的时候,你可以说浏览器不能正常联网,但如果该属性值为true的时候,并不意味着浏览器一定能连接上互联网。还有其他一些可能引起误判的原因,比如你的电脑安装了虚拟化软件,可能会有一个虚拟网卡,这时它总是会显示正常联网。
在Firefox和Internet Explorer中,如果浏览器处于"脱机工作"状态,则返回 false,其他情况都返回true。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>network status</title>
</head>
<body>
    <script type="text/javascript">
    // 获取当前网络状态
    var state = window.navigator.onLine;
    if (state) {
        alert("联网状态");
    }
    else {
        alert("断网状态");
    }
    </script>
</body>
</html>
网络状态事件
  • 联网时触发
// 不推荐,有兼容性问题
window.ononload = function() {}
或
// 推荐
window.addEventListener('online',  function() {});

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>online event</title>
</head>
<body>
    <script type="text/javascript">
    window.addEventListener('online',  function() {
        alert("在线");
    });
    </script>
</body>
</html>
  • 断网时触发
// 不推荐,有兼容性问题
window.onoffline = function() {}
或
// 推荐
window.addEventListener('offline',  function() {});

示例:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>offline event</title>
</head>
<body>
    <script type="text/javascript">
    window.addEventListener('offline',  function() {
        alert("在掉线");
    });
    </script>
</body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。