前端 网络相关事件 交互

前端 网络相关事件 交互

设置断线、上线提示

  • 这里可以做断线重连
    • 使用online表示在线事件
    • 使用offline表示离线事件

当前是否离线

/**
 * * 判断是否离线
 * 如果是在线将值改为在线
 */
window.addEventListener("offline", function (event) {
    onlineStatus.innerHTML = "离线"
    isOnline = false
})

当前是否在线

    /**
     * * 判断是否在线
     * 如果是在线将值改为在线
     */
    window.addEventListener("online", function (event) {
        onlineStatus.innerHTML = "在线"
        isOnline = true
    })

全部代码

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <input type="text" name="" id="">
    <h1 id="onlineStatus"></h1>
    <div id="networkStatus"></div>
</body>
<script>
    const onlineStatus = document.getElementById("onlineStatus")
    const networkStatus = document.getElementById("networkStatus")
    let isOnline = true// 在线状态

    /**
     * * 当前是否在线
     * 如果加载时如果不在线则修改状态
    */
    window.addEventListener("load", function (event) {
        if (isOnline) {
            onlineStatus.innerHTML = "在线"
        }
    })

    /**
     * * 判断是否离线
     * 如果是在线将值改为在线
     */
    window.addEventListener("offline", function (event) {
        onlineStatus.innerHTML = "离线"
        isOnline = false
    })

    /**
     * * 判断是否在线
     * 如果是在线将值改为在线
     */
    window.addEventListener("online", function (event) {
        onlineStatus.innerHTML = "在线"
        isOnline = true
    })
</script>

</html>

获取网络信息

  1. 网络连接类型
  2. 网络连接有效类型
  3. 最大下载速度
  4. 估计往返时延
  5. 数据节省模式
// 当前网络连接对象
const networkInfo = navigator.connection;
console.log('网络连接类型:', networkInfo.type);
console.log('网络连接有效类型:', networkInfo.effectiveType);
console.log('最大下载速度:', networkInfo.downlinkMax + ' Mbps');
console.log('估计往返时延:', networkInfo.rtt + ' ms');
console.log('数据节省模式:', networkInfo.saveData ? '已启用' : '未启用');

相关推荐

  1. 前端 网络相关事件 交互

    2024-03-17 07:48:05       43 阅读
  2. VTK 交互事件

    2024-03-17 07:48:05       48 阅读
  3. echarts之事件交互

    2024-03-17 07:48:05       36 阅读
  4. UDP网络编程其他相关事项

    2024-03-17 07:48:05       53 阅读
  5. OpenCV-交互相关接口

    2024-03-17 07:48:05       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-17 07:48:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-17 07:48:05       100 阅读
  3. 在Django里面运行非项目文件

    2024-03-17 07:48:05       82 阅读
  4. Python语言-面向对象

    2024-03-17 07:48:05       91 阅读

热门阅读

  1. Python中元组的高效使用

    2024-03-17 07:48:05       48 阅读
  2. 图像描述(image caption)模型简单demo(源码理解原理)

    2024-03-17 07:48:05       40 阅读
  3. 第五章 Collections

    2024-03-17 07:48:05       38 阅读
  4. vue3之带参数的动态路由

    2024-03-17 07:48:05       45 阅读
  5. Flutter中GetX的用法(路由管理)

    2024-03-17 07:48:05       37 阅读
  6. Flutter 的 switch 语句补遗

    2024-03-17 07:48:05       41 阅读
  7. ctf-web23

    ctf-web23

    2024-03-17 07:48:05      43 阅读
  8. SDN网络简单认识(2)——南向接口

    2024-03-17 07:48:05       37 阅读
  9. LeetCode 222.完全二叉树的节点个数

    2024-03-17 07:48:05       45 阅读
  10. MATLAB中的数据类型,例如double,char,logical等。

    2024-03-17 07:48:05       46 阅读