javascript - XMLHttpRequest onprogress total 在 Chrome 上始终为 0

标签 javascript jquery ajax google-chrome xmlhttprequest

我试图在同一网站内从一个页面导航到另一个页面之前显示进度条。

我的函数将 updateProgress 函数绑定(bind)到 XMLHttpRequest onprogress 事件,并将用户重定向到 (xhr.readyState == 4 && xhr.status == 200) 上的新页面 它似乎工作正常,只是 Chrome 将“总计”显示为零,这不会让进度条正常运行。我的代码如下。

提前致谢...

$('.ajaxNavi').click(function (e) {
  e.preventDefault();
  var url = $(this).attr('href');
  var xhr = new XMLHttpRequest();
  xhr.onprogress = updateProgress;
  xhr.onreadystatechange = function () { 
    if (xhr.readyState == 4 && xhr.status == 200)
    // REDIRECT HERE
    }
  });
  xhr.open("GET", url, true);
  xhr.setRequestHeader("Content-Type", "text/html");
  xhr.send();
});

function updateProgress(e) {
  console.log(e.loaded + '    ' + e.total);
}

最佳答案

晚了两年,但这个问题似乎有很多观点,应该可以回答。

根据 this问题 gzipped 响应在 Chrome 中总是将 lengthComputable 设置为 false。这很有意义,因为您可能知道有多少压缩数据通过管道传输,但您不知道压缩数据将扩展到多少。

solution我觉得不错。

关于javascript - XMLHttpRequest onprogress total 在 Chrome 上始终为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27767954/

相关文章:

javascript - 发布了一个新的 Chrome 扩展,当我尝试下载它进行测试时,它坏了

javascript - 在 iframe 中克隆的网站(并且禁用 JavaScript)

jquery - jQuery表单提交空白值

javascript - 通过点击事件使部分显示

ajax - 如何使用 AJAX 从 Phonegap 移动应用程序上传图片?

javascript - 无法读取未定义的属性 'toLowerCase' - jQuery

javascript - nock:如何模拟带有附加 header 的请求?我得到诺克:请求不匹配

javascript - 在我的例子中如何仅发送一次 AJAX 调用

asp.net - 奇怪的问题: IE8 user can't authenticate with web service

ruby-on-rails - 在 Rails 中,我应该如何使用 ajax 更新数据库中的值?