我基本上想要创建一个chrome扩展程序,每当我浏览它们时,它会根据特定条件自动下载文件。
通过跟踪样本和文档,我有一个“devtool”类型的扩展名,当我遇到这样的文件时,它会成功提醒我。我试图添加下载部分没有任何成功。是否有可能自动拒绝从此类脚本下载文件?我确保将“下载”添加到清单中的权限。
这基本上就是一切:
chrome.devtools.network.onRequestFinished.addListener(
ChromeFirePHP.handleFirePhpHeaders.bind(ChromeFirePHP);
);
ChromeFirePHP.handleFirePhpHeaders = function(har_entry) {
var parser = document.createElement('a'),
params = null,
channel = null,
message = null,
subscribe_key = null,
channels = [],
i = 0;
parser.href = har_entry.request.url;
if(parser.pathname.indexOf('.jpg') != -1) {
alert('Downloading : ' + har_entry.request.url); //alerts a complete url
chrome.downloads.download({url: har_entry.request.url}); //nothing happens
chrome.downloads.download({url: har_entry.request.url,saveAs: true},function(id){alert(id);}); //2nd try, nothing happens
}
};
我尝试过不同的文件类型和URL,对一些下载网址进行硬编码,没有任何内容。
相关的manifest.json部分:
"permissions": [
"tabs",
"notifications",
"http://*/*",
"https://*/*",
"<all_urls>",
"downloads",
"downloads.open"
],