我正在制作Chrome扩展程序,并且我正在使用此代码来捕获"根据要求下载。
chrome.downloads.onCreated.addListener(function(downloadItem) {
});
我想要的是停止下载显示在下载栏上,阅读我的扩展程序中的文件,然后从计算机中删除该文件。
我尝试过使用chrome.extensions.download.erase()和chrome.browsingData.remove(),但无济于事。
我该怎么做?
答案 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
}
});