Je souhaitais depuis longtemps créer une extension chrome pour télécharger des images par lots. Pourtant, chaque fois que je suis frustré parce que la seule option apparemment applicable est NPAPI, qui à la fois chrome et firefox ne semblent pas vouloir supporter plus longtemps.
Je suggère à ceux qui voulaient encore implémenter la fonctionnalité 'save-file-on-disk' de jeter un oeil à ce Stackoverflow post, le commentaire ci-dessous m'aide beaucoup.
Maintenant, depuis le chrome 31+, l'API chrome.downloads
est devenue stable. Nous pouvons l'utiliser pour télécharger un fichier par programme. Si l'utilisateur n'a pas défini l'option avance ask me before every download
dans le paramètre chrome, nous pouvons enregistrer le fichier sans demander confirmation à l'utilisateur!
Voici ce que j'utilise (à la page d'arrière-plan de l'extension):
// 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);
});
Bien qu'il soit dommage que chrome ne fournit toujours pas Event
quand le téléchargement est terminé. fonction de rappel de chrome.downloads.download
est appelée lorsque le téléchargement begin
avec succès (pas terminé)
La documentation officielle sur les chrome.downloads
est here.
Ce n'est pas mon idée originale de la solution, mais j'ai posté ici en espérant que cela puisse être utile à quelqu'un.
Ce n'est pas la première fois que nous sommes en train de me rediriger sur le NPAPI. Je vais y jeter un coup d'oeil. Merci pour votre aide. –
Notez que si vous envisagez de télécharger l'extension dans la galerie de Google, l'utilisation de NPAPI retardera votre publication pour une longue révision par celle-ci et pourrait même ne pas être acceptée. –
Je suis d'accord avec Max. Cela retardera la publication, car il sera revu manuellement. Il serait préférable que vous ayez un serveur externe auquel vous pouvez donner accès dans votre poste et que vous téléchargiez les données via POST et que vous les récupériez via GET avec les en-têtes appropriés. –