您的位置:首页 > Web前端 > JavaScript

使用javascript的网速测试代码

2014-01-29 21:53 405 查看
使用javascript的网速测试代码:

Javascript 最简单检测网速的方法。网速很慢,但又得打开 Flash 是一件很痛苦的事情,特别是 Silverlight 来临之际,这个技术可能有点用。

在之前为了测试应用网速,实现了用java applet使用socket的测试方式,测试结果比较准确和稳定,且部署也较简单。但缺点是客户端必须安装JRE或JDK。今天用javascript脚本写了一个通过AJAX的下载一个大文件来计算速度的脚本,作为一个JAVA方式的补充。经过测试,同一台电脑不同的浏览器的速度测试结果也有不少的差距,也说明了脚本的执行与浏览器和HTTP服务器的影响有较大的关系。代码如下:

<html>
<head>
<title>在线网络应用速度测试</title>
<script type="text/javascript" src="jquery.js"></script>
<script language="javascript" >
var data_file="jdk.zip";//要测试的数据文件
var starttime=0;
var endtime=0;
var size=0;//文件长度,由脚本使用HEAD自动计算
</script>
<script language="javascript" >
$(function(){
//提交查询:
$("#test").click(function(){
$("#result").html("网速测试中...");
endtime=0;
url=data_file+"?"+starttime;
//获取文件的长度:
var xhr=$.ajax({
type:"HEAD",
url:url,
success:function(msg){
size=xhr.getResponseHeader('Content-Length');
starttime=new Date().valueOf();
//开始GET数据:
$.get(url,function(data){
endtime=new Date().valueOf();
usetime=endtime-starttime;
size_mb=size/(1024*1024);
var result_text="测试完成,总测试数量"+size_mb.toFixed(2)+"MB,用时"+usetime+"毫秒。<br/>";
var speed=size/(usetime/1000*1024*1024);
result_text+="网络吞吐量:"+speed.toFixed(2)+"MB/秒<br/>";
var speed2=speed*8;
result_text+="网络带宽:"+speed2.toFixed(2)+"Mb/秒</br/>";

$("#result").html(result_text);
})
}
})
})
})
</script>
</head>
<body>
<p></p>
<p></p>
<p><a id="test" href="#" >开始测试</a>
</p>
<p></p>
<p><div id="result"></div>
</body>
</html>


刚刚博主喜得小公举, 就开个关于宝妈宝爸孕育宝宝的知识干货,以及女性私密和宝爸爱看的笑话.的订阅号, 每天都更新,全是手写的原创(除了宝爸爱看的笑话之类的,你懂的,这个真原创不了).
开这个订阅号原因:老婆是妇幼保护师,我本来就是程序猿,所以正好把这想法实现,希望大家来看看哦! 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息