0

我正在使用 PhoneGap (Cordova) 文件传输和 onProgress 函数向用户显示下载进度。

到目前为止它运行得很好,但是我试图同时进行多个下载,并且我需要在 onProgress 事件中有一个有效的“目标”属性,但它总是读为 null。

这是为什么?有什么方法可以显示目标,就像它提供信息的文件名一样?

var ft0 = new FileTransfer();
ft0.onprogress = onProgress;
ft0.download( url, filePath, onDownloadSuccess, onDownloadError );

function onProgress(progressEvent) {
....

这是 onProgress 事件的属性读数

type: undefined; 
bubbles: false; 
cancelBubble: false; 
cancelable: false; 
lengthComputable: true; 
loaded: 5510; 
total: 56456; 
target: null;

任何帮助将非常感激。

谢谢。

4

1 回答 1

1

W3C 规范定义的进度事件没有目标。

您可以将下载操作包含在一个闭包中并可以访问文件名,如下所示:

filePaths.each(function(filePath) {
   var ft = new FileTransfer();

   ft.onprogress = function(progressEvent) {
      //onProgress for filePath
   };

   button.addEventListener("click", function() {
      ft.abort();
   }, false);

   ft.download( url, filePath, onDownloadSuccess, onDownloadError );
});
于 2013-02-19T09:43:34.007 回答