2010-02-17 61 views
1

我想计算/估计文件下载的时间量。有没有什么办法可以使用JavaScipt或其他方法来实现? 可以达到什么级别的accuricy? (+ evs/-evs)下载网站估价器

我试图通过下载小图像,然后执行数学来获得所需的带宽和时间。但结果并不那么好。 :(

+0

它是一个数学的东西,取决于你的网络连接速度,你可以很容易地计算出它。 – ant 2010-02-17 15:54:11

+0

我会再次推荐试图找出您的用户的带宽,而不先询问。这对连接来说是一个沉重的压力,如果你通过数据量来支付你的互联网连接,那就需要钱。 – 2010-02-17 16:06:07

回答

1

有这个,因为它可以改变之间没有明确的答案下载开始后,速度和速度可能会有所不同。

微软网站有一个类似的东西,你正在寻找。 An example is here.。但是这也有一个大致的时间,并且永远不会是完美的。以下是该页面的代码。他们只是根据我们手动选择的连接速度显示大致的时间。

function getTime(selection) { 
        var opt = selection.options[selection.selectedIndex].value; 
        var obj = document.getElementById("displayTime"); 

        if (opt == "du56") { 
        obj.innerHTML = " 7 min "; 

        } else if (opt == "dsl256") { 
        obj.innerHTML = " 2 min "; 

        } else if (opt == "dsl768") { 
        obj.innerHTML = " 1 min "; 

        } else if (opt == "t1") { 
        obj.innerHTML = " 1 min "; 
        } 
        } 
+0

或使用散列代替if/else – Paul 2010-02-18 06:23:35

1

这里是一个网站,可以让你计算根据您的连接类型的下载时间,您可以在这里查看Java脚本也是如此。

http://www.onlineconversion.com/downloadspeed.htm

当然,这需要最终用户知道他们有什么类型的连接。

这里是一个网站,告诉您如何使用JavaScript来检测连接类型

http://ditio.net/2008/08/06/detect-connection-speed-with-javascript/

这两者都是真的只是估计,但我不知道,我所看到的任何下载工具是准确的,有太多的因素

0

JavaScript本身并没有办法知道有多少POST或XMLHTTPRequest数据实际上已被传输。你可以使用JavaScript加上某种服务器端脚本(如许多文件托管站点),或者构建一个Flash或Java上传器。无论哪种方式,你都无法准确地用纯JavaScript做到。