为了测量客户端下载速度,我使用ajax get调用已知大小的文本文件,并使用javascript日期原型的getTime()函数来测量它花了多长时间。我选择它的原因很简单,但由于某些原因,这比使用speedtest.net的数字要慢很多。有更准确的方法吗?
var ajaxTime = new Date().getTime();
var request = jQuery.ajax({
url: "/eventdata/(default)/system_diagnostics/lorem.txt?s=" + ajaxTime,
type: "GET",
success: function(result) {//success
var totalTime = new Date().getTime()-ajaxTime;
var mbps = fileSize/(totalTime/1000);
mbps = mbps.toFixed(2);
nDLSpeedMbps = mbps;
其中fileSize是以兆位为单位的文本文件的大小。
我唯一能想到的是,浏览器被占用了其他耗尽带宽的东西,但我不知道是什么。在同一页面上有一个上传测试(另一个ajax调用),但是在下载ajax调用完成并且已经计算了nDLSpeedMbps之后,在成功函数中进一步向下触发之前不会启动。