停止下载显示在Chrome下载栏上

时间:2015-02-28 13:27:33

标签: javascript google-chrome-extension

我正在制作Chrome扩展程序,并且我正在使用此代码来捕获"根据要求下载。

chrome.downloads.onCreated.addListener(function(downloadItem) {

});

我想要的是停止下载显示在下载栏上,阅读我的扩展程序中的文件,然后从计算机中删除该文件。

我尝试过使用chrome.extensions.download.erase()和chrome.browsingData.remove(),但无济于事。

我该怎么做?

2 个答案:

答案 0 :(得分:3)

更好的事件是onDeterminingFilename,因为这发生在下载开始之前:

chrome.downloads.onDeterminingFilename.addListener(function (item) {
    chrome.downloads.cancel(item.id);
});

https://developer.chrome.com/extensions/downloads#event-onDeterminingFilename

答案 1 :(得分:0)

在内容脚本中:

document.querySelector("a").addEventListener("click",function(){
 chrome.runtime.sendMessage({action: "download", url: this.href});
});

//您可能应该将选择器限制为要使用扩展程序下载的特定链接。

在后台页面中:

chrome.runtime.onMessage.addListener(
  function(request, sender, sendResponse) {
    if(request.action == "download" ){
      //here download via xhr, then read the file as you plan to do 
    }
});