当前位置: 首页 > article >正文

前端 网络相关事件 交互

前端 网络相关事件 交互

设置断线、上线提示

  • 这里可以做断线重连
    • 使用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 ? '已启用' : '未启用');

http://www.kler.cn/a/271198.html

相关文章:

  • CSS3DRenderer, CSS3DSprite API 使用案例demo
  • SQLiteC/C++接口详细介绍之sqlite3类(十二)
  • C#实现约瑟夫环算法
  • 算法——前缀和之除自身以外数组的乘积、和为K的子数组、和可被K整除的子数组、连续数组、矩阵区域和
  • JDK17在Windows安装以及环境变量配置(超详细的教程)
  • 【面试】怪兽充电一面
  • Node.js 自带的 http 模块来实现一个简单的本地服务器
  • 上海亚商投顾:沪指震荡调整 飞行汽车概念股持续爆发
  • 对建造者模式的理解
  • Docker环境快速搭建RocketMq
  • 如何将Excel两列数据转换为统计图、曲线图、折线图?如何自定义某一列作为Excel的统计图横纵坐标?
  • 爬虫学习 Scrapy中间件代理UA随机selenium使用
  • 矩阵消元-MIT
  • 蓝桥杯单片机——备赛(DS18B20)数码管亮度不同问题,温度一直是85或者95的问题。初步看赛点资源包!!!
  • 如何在webapp中于动发布一个应用
  • linux内建命令/内部命令之type
  • Lua中文语言编程源码-第三节,更改lualib.h Lua标准库, 使Lua支持中文关键词(与所有的基础库相关)
  • Kafka-SSL笔记整理
  • 用户故事到需求实例化
  • 【JavaScript】JavaScript 运算符 ④ ( 逻辑运算符 | 逻辑与运算符 | 逻辑或运算符 || | 逻辑非运算符 ! )