How To Force Chrome To Not Open Saveas Dialog When Downloading A Url?
Chrome Build: the newest, 33+ A Chrome Extension extracts certain urls from currently viewed site and then downloads a subset of them (quite often hundreds of files). Expected Beha
Solution 1:
It is impossible when "Ask where to save each file before downloading" Enabled (as of 70.0.3538.77). The corresponding Chromium bug is:
Bug 417112: chrome.downloads.download ignore saveAs
Moreover setting filename in chrome.downloads.downloads()
also doesn't work.
Solution 2:
Edit : I've added complete sample code for multiple file downloads which doesn't show SaveAs Dialog.
You can achieve this by using chrome.downloads API.
manifest.json
{"description":"Multiple file downloads without showing SaveAs Dialog","background":{"scripts":["background.js"],"persistent":true},"content_scripts":[{"js":["content_script.js"],"matches":["<all_urls>"],"run_at":"document_start"}],"manifest_version":2,"name":"MultipleFileDownloads","permissions":["downloads"],"short_name":"MFD","version":"0.0.0.1"}
content_script.js
varDOWNLOAD_LIMIT = 100;
functiondownloadURL(url, filename, callback){
chrome.runtime.sendMessage({
download_url : url,
filename : filename
},function(){
if(typeof callback == 'function'){
callback();
}
})
}
functionsimulateFileDownload(i){
if(i > DOWNLOAD_LIMIT){
document.getElementById('download_btn').disabled = false;
returnfalse;
}
var blob = newBlob(['This is sample file '+i], {type:'text/plain'});
var url = URL.createObjectURL(blob);
downloadURL(url,'Sample-'+i+'.txt',function(){
URL.revokeObjectURL(url);
i++;
simulateFileDownload(i);
})
}
window.onload = function(){
var btn = document.createElement('button');
btn.id = 'download_btn';
btn.style.cssText = 'position:fixed;top:10px;left:10px;width:140px;height:30px;z-index:1000000;';
btn.textContent = 'Download Files';
document.body.appendChild(btn);
btn.addEventListener('click',function(){
this.disabled = true;
simulateFileDownload(0);
})
}
background.js
chrome.runtime.onMessage.addListener(function(message, sender, sendResponse){
if(message.download_url){
chrome.downloads.download({
url : message.download_url,
filename : message.filename,
saveAs : false
})
}
});
Post a Comment for "How To Force Chrome To Not Open Saveas Dialog When Downloading A Url?"