Я давно хотел сделать расширение Chrome для себя, чтобы загружать изображения в пакетном режиме. Тем не менее, каждый раз, когда я расстраивался, потому что единственный, казалось бы, применимый вариант - это NPAPI, который, похоже, и Chrome, и Firefox больше не хотят поддерживать.
Я предлагаю тем, кто все еще хотел реализовать функциональность 'save-file-on-disk', взглянуть на эту публикацию Stackoverflow , комментарии под этим постом мне очень помогают.
Теперь, начиная с Chrome 31+, API chrome.downloads
стал стабильным. Мы можем использовать его для программной загрузки файла. Если пользователь не установил опцию ask me before every download
advance в настройках Chrome, мы можем сохранить файл без запроса подтверждения пользователем!
Вот что я использую (на странице с расширением):
// remember to add "permissions": ["downloads"] to manifest.json
// this snippet is inside a onMessage() listener function
var imgurl = "https://www.google.com.hk/images/srpr/logo11w.png";
chrome.downloads.download({url:imgurl},function(downloadId){
console.log("download begin, the downId is:" + downloadId);
});
Хотя жаль, что chrome по-прежнему не предоставляет Event
после завершения загрузки. Функция обратного вызова chrome.downloads.download
вызывается при успешной загрузке begin
(не завершена)
Официальная документация о chrome.downloads
здесь здесь .
Это не мое первоначальное представление о решении, но я написал здесь в надежде, что оно кому-нибудь пригодится.