首页 > Web开发 > 详细

js 检测客户端网速

时间:2019-06-12 12:32:37      阅读:502      评论:0      收藏:0      [点我收藏+]
<!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>

  

js 检测客户端网速

原文:https://www.cnblogs.com/xuan52rock/p/11008679.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!