前端 网络相关事件 交互

前端 网络相关事件 交互

设置断线、上线提示

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

当前是否离线

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

当前是否在线

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

全部代码

html 复制代码
<!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. 数据节省模式
javascript 复制代码
// 当前网络连接对象
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 ? '已启用' : '未启用');
相关推荐
学术小八4 小时前
2025年人工智能、虚拟现实与交互设计国际学术会议
人工智能·交互·vr
一斤代码5 小时前
vue3 下载图片(标签内容可转图)
前端·javascript·vue
中微子5 小时前
React Router 源码深度剖析解决面试中的深层次问题
前端·react.js
光影少年5 小时前
从前端转go开发的学习路线
前端·学习·golang
中微子6 小时前
React Router 面试指南:从基础到实战
前端·react.js·前端框架
3Katrina6 小时前
深入理解 useLayoutEffect:解决 UI "闪烁"问题的利器
前端·javascript·面试
前端_学习之路7 小时前
React--Fiber 架构
前端·react.js·架构
伍哥的传说7 小时前
React 实现五子棋人机对战小游戏
前端·javascript·react.js·前端框架·node.js·ecmascript·js
qq_424409197 小时前
uniapp的app项目,某个页面长时间无操作,返回首页
前端·vue.js·uni-app
我在北京coding7 小时前
element el-table渲染二维对象数组
前端·javascript·vue.js