前端 网络相关事件 交互

前端 网络相关事件 交互

设置断线、上线提示

  • 这里可以做断线重连
    • 使用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 ? '已启用' : '未启用');
相关推荐
前端开发爱好者1 小时前
尤雨溪宣布:Vite 纪录片震撼发布!
前端·javascript·vue.js
北城以北88881 小时前
ES6(二)
前端·javascript·es6
朕的剑还未配妥1 小时前
移动端触摸事件与鼠标事件的触发机制详解
前端
墨鱼鱼1 小时前
【征文计划】Rokid JSAR 实践指南:打造沉浸式 "声动空间盒" 交互体验
前端
携欢1 小时前
Portswigger靶场之Exploiting a mass assignment vulnerability通关秘籍
前端·安全
什么芋泥香蕉3302 小时前
比 Manus 还好用?这款国产 AI,让 Python 小白也能玩转编程
前端·后端
为java加瓦2 小时前
前端学AI:如何写好提示词(prompt)
前端·人工智能·prompt
qq_1841776772 小时前
前端自动部署项目到服务器
服务器·前端·javascript
非凡ghost2 小时前
猫眼浏览器(Chrome内核增强版浏览器)官方便携版
前端·网络·chrome·windows·软件需求
C2X2 小时前
Vue3.0 学习总结
前端