Javascript 正确测量下载速度
为了测量客户端下载速度,我使用了一个对已知大小的文本文件的ajaxget调用,并使用javascript日期原型的getTime()函数来测量它花费了多长时间。我之所以选择它是因为它的简单性,但由于某些原因,它返回的数字比我使用speedtest.net得到的要慢得多。有没有更准确的方法Javascript 正确测量下载速度,javascript,ajax,Javascript,Ajax,为了测量客户端下载速度,我使用了一个对已知大小的文本文件的ajaxget调用,并使用javascript日期原型的getTime()函数来测量它花费了多长时间。我之所以选择它是因为它的简单性,但由于某些原因,它返回的数字比我使用speedtest.net得到的要慢得多。有没有更准确的方法 var ajaxTime = new Date().getTime(); var request = jQuery.ajax({ url: "/eventdata/(de
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是文本文件的大小(以MB为单位)
我能想到的唯一一件事是,浏览器正在做其他占用带宽的事情,但我不知道是什么。在同一页面上有一个上传测试(另一个ajax调用),但在下载ajax调用完成并计算出nDLSpeedMbps后,直到成功函数中的下一步才会启动。d/l速度不仅受客户端下载速度/带宽的影响,还有你正在下载的服务器的网络速度/带宽。这对我来说非常准确:。但问题可能是服务器带宽——JavaScript用户计时API应该提高持续时间测量的准确性——从而提高结果的准确性。我发现您发布的脚本很好。