Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何知道从Javascript下载了多少文件_Javascript_Jquery_Html - Fatal编程技术网

如何知道从Javascript下载了多少文件

如何知道从Javascript下载了多少文件,javascript,jquery,html,Javascript,Jquery,Html,我有一个8MB大小的大数据文件。现在,当我的页面从服务器下载时,我想提供一个关于下载量的状态更新,例如56%的下载量。数据文件本身就是一个.js文件 我想从我的javascript中完成它。我在考虑下面的选择 1) 首先测量网络速度。 2) 然后做一个线性插值,因为我知道文件的大小 但考虑到连接时间、缓存、渲染等因素,在JS中测量网速并不是很可靠 有没有直接的方法,我可以直接得到部分下载文件的大小,并计算到目前为止下载了多少 谢谢你的帮助 您可以使用xmlhttprequest进度事件在兼容HT

我有一个8MB大小的大数据文件。现在,当我的页面从服务器下载时,我想提供一个关于下载量的状态更新,例如56%的下载量。数据文件本身就是一个.js文件

我想从我的javascript中完成它。我在考虑下面的选择

1) 首先测量网络速度。
2) 然后做一个线性插值,因为我知道文件的大小

但考虑到连接时间、缓存、渲染等因素,在JS中测量网速并不是很可靠

有没有直接的方法,我可以直接得到部分下载文件的大小,并计算到目前为止下载了多少


谢谢你的帮助

您可以使用xmlhttprequest进度事件在兼容HTML5的浏览器中查找文件上载进度

var oReq = new XMLHttpRequest();

oReq.upload.addEventListener("progress", updateProgress, false);
// progress on transfers from the server to the client (downloads)
function updateProgress (oEvent) {
  if (oEvent.lengthComputable) {
    var percentComplete = oEvent.loaded / oEvent.total;
    // ...
  } else {
    // Unable to compute progress information since the total size is unknown
 }
}

您可以在使用httprequest加载页面后加载if,并使用onreadystatechange事件显示完成百分比。请详细说明,可能的话可以举个例子吗?@user3001408这应该有帮助:op要求下载,而不是上传;)我正在下载文件,不是上载操作:-),但根据链接,您也可以使用此事件进行下载。但我不确定例如:浏览器如何提前知道文件大小。