js 检测客户端网速
时间:2019-06-12
本文章向大家介绍js 检测客户端网速,主要包括js 检测客户端网速使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
<!doctype html> <html> <head> <meta http-equiv=Content-Type content="text/html;charset=utf-8"> <title>js实现的网速测试方法</title> </head> <body> <script> function testBW(fn) { var startTime, endTime, fileSize; var xhr = new XMLHttpRequest(); xhr.timeout=30000; xhr.onerror=function (){ console.log('onerror'); } xhr.onreadystatechange =function(){ console.log(JSON.stringify(xhr)); if(xhr.readyState === 2){ startTime = Date.now(); } if (xhr.readyState === 4) { endTime = Date.now(); console.log(xhr.readyState+'=='+xhr.responseText.length); fileSize = xhr.responseText.length; console.log(fileSize); var speed = fileSize / ((endTime - startTime)/1000) / 1024; fn && fn(Math.floor(speed)||0) console.log('complete'); } if(xhr.status === 200) { endTime = Date.now(); console.log(xhr.readyState+'=='+xhr.responseText.length); fileSize = xhr.responseText.length; console.log(fileSize); var speed = fileSize / ((endTime - startTime)/1000) / 1024; fn && fn(Math.floor(speed)||0) } } //http://wangsu3s.acc5.com/ping.jpg //http://alyun3s.acc5.com/ping.jpg //http://app-static.acc5.com/app/ping.gif xhr.open("GET", "http://app-static.acc5.com/app/ping.gif?rnd=" + Math.random(), true); xhr.send(); } function callback(speed){ document.write("<div id='div1'>"+speed + " KB/s</div>"); console.log(speed + " KB/s"); //215 KB/sec } testBW(callback); </script> </body> </html>
原文地址:https://www.cnblogs.com/xuan52rock/p/11008679.html
- 工作中问题记录
- Java导出数据生成Excel表格
- Layui常见问题
- layui动态设置下拉框数据,根据后台数据设置选中
- BCryptPasswordEncoder加密及判断密码是否相同
- 两个HTML,CSS布局实例
- cors解决Web跨域访问问题
- Java之集合初探(二)Iterator(迭代器),collections,打包/解包(装箱拆箱),泛型(Generic),comparable接口
- IIS中实现HTTPS的自动跳转
- Windows Server下IIS安装PHP+MySql环境
- Python玩机器学习简易教程
- 腾讯云服务器搭建个人博客教程
- Ubuntu下安装Nginx+PHP+MySql环境
- JavaScript 对象
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一天一大 leet(移除重复节点)难度:简单 DAY-26
- Spring Boot 项目瘦身指南,瘦到不可思议!
- BigData--Hadoop数据压缩
- 面试官问我什么是JMM
- django+nginx+gunicorn部署配置
- JVM的YGC,这次被它搞惨了!
- ubuntu修复linux和windows双系统下挂载ntfs硬盘出错问题
- 一天一大 leet(长度最小的子数组)难度:中等 DAY-28
- Qt音视频开发24-ffmpeg音视频同步
- django使用django-crontab实现定时任务
- 一天一大 leet
- git使用经验
- 最长重复子数组 (难度:中等)-Day20200701
- Presto系列 | Presto基本介绍
- 如何在腾讯云中使用ExternalName类型的Service