2014-11-06 95 views
2

我有一个文件的链接。我怎么知道用户点击链接并下载文件?我需要获得downloadId? Google Chrome API有一个方法chrome.downloads.open(integer downloadId)。但我怎么知道downloadId,打开这个文件?请帮帮我。如何打开下载的文件?

回答

3

可以尝试在谷歌浏览器版本下面测试此示例代码38.0.2125.111米(64位)

chrome.downloads.onChanged.addListener(function (detail){ 
console.log("Detail",detail); //Save log for debugging 

    //if file download finished 
    if(detail.state.current == "complete"){ 

     var downloadId = detail.id; //Download ID 

     console.log("Download ID",downloadId); //Save log for debugging 
     /* 
     Do Something 
     */ 

    } 
}); 
+1

变种downloadId = detail.id; chrome.downloads.open(downloadId); downloads.onChanged的事件处理程序错误:无法读取未定义的属性'current' 堆栈跟踪:TypeError:无法读取未定义的属性'current'...运行downloads.open时未经检查的runtime.lastError:需要用户手势 at chrome -extension://gpilmplhmghnbjlbcahpncjihglmmjjb/background.js:6:20 – 2014-11-06 12:20:52

+0

当state.current不存在时会发生这些错误,它不会产生问题。并在此查找用户手势权限 - > [chrome.permissions](https://developer.chrome.com/extensions/permissions) – Touhid 2014-11-06 12:44:09

+0

我不明白你的意思。 “权限”:[“下载”,“下载。打开”,“标签”]?所以也是行不通的。我有英文问题。翻译员翻译不清楚) – 2014-11-06 13:02:47