0

首先在 jsfiddle 上 看到一个链接。

$.ajax({
    url: 'http://download.cdn.mozilla.net/pub/mozilla.org/firefox/releases/22.0/win32/rm/Firefox%20Setup%2022.0.exe',
    type: "GET",
    data: {},
    progress: function(evt) {
        if (evt.lengthComputable) {
            var percentComplete = 100 * evt.loaded / evt.total;
            $("#percentDownload").html(percentComplete);
            $("#downloadSize").html(evt.loaded);
            $("#allSize").html(evt.total);
        };
    },
    complete: function(jqXhr, textStatus) {
        //
    }
});

我正在使用englercj的jquery-ajax-progress补丁

这是Opera 12.16 build 1860浏览器统计信息(在Windows 8.1 Professional 预览版中,Media Center Build 9431和 19.07.2013 的所有更新):
下载百分比:189.01157552527454 下载字节数:41051288 大小字节数:21718928

Google Chrome 28.0.1500.72 mIE 11.0.9431.0Safari 5.1.7 (7534.57.2)Firefox 22.0完美运行,显示 100% 和正确的下载大小。

Opera 怎么了?我该如何解决这个问题?

请不要告诉我关于 Opera 15 的事情。

4

1 回答 1

0

要让 Opera 12 正常运行,您必须(重新)设置响应的内容类型标头,如下所示:

$.ajax({
  //…
  beforeSend: function (xhr) {
    xhr.overrideMimeType("application/octet-stream");
  }
  //…
});
于 2018-08-13T18:39:32.070 回答