代码之家  ›  专栏  ›  技术社区  ›  Anil Namde

使用JavaScript和Ajax下载估计器

  •  0
  • Anil Namde  · 技术社区  · 15 年前

    我已经通过Google,stackoverflow上的现有帖子也找到了下载估计器的现有实现,我发现大部分时间都在询问用户带宽,然后计算数字是策略。这是一个很好的方法,而且几乎没有任何可靠的方法来获得正确的估计时间。

    我想尝试的是使用Ajax请求100KB-200kb的文件大小,然后做数学运算,得到数字并更新显示。现在这是围绕着这么多的问题,如网络,形成的数据包数,代理等?所有这些因素都足以拒绝这种做法。但我必须这样做。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Russell Leggett    15 年前

    从技术上讲,您可以自己测试带宽,方法是在初始页面请求中包含一个带有大小的时间戳,并根据浏览器中的当前时间进行计算。

    var size = $size; //in KB
    var timestamp = $timestamp;
    var currTime = new Date().getTime();
    var kbps = size / ((currTime-timestamp)/1000);
    

    这里我的$表示法表示在服务器上模板化的变量。这显然不是完美的,但比询问用户更准确。