如何调用Chrome扩展程序中的“将图像另存为...”功能?

Aer*_*ang 0 google-chrome google-chrome-extension

Chrome 扩展库具有调用下载方法的巧妙功能...但是,这样的回调不允许我们为右键单击图像时的行为编写脚本 - 事实上,右键单击图像时它不会激活(如果它会激活)是一个链接)。

Chrome 的扩展命令是什么,可以让我们调用下载图像?谢谢。

Eri*_*ric 5

我和你有同样的问题,但我有一个替代方案:使用chrome.downloads.downloadapi.

尝试获取图片的url,并将该url传递给后台脚本,这是唯一授权chrome.downloads api的位置。

此 api 的使用示例如下:

var name = url.substr(url.lastIndexOf("/")+1);
chrome.downloads.download({url:url,filename:name,saveAs:false},function(res_id){
    if(typeof res_id === "undefined") // when failing to start the download
    {
        /*err handling*/
    }
    else
    {
        /*your further task*/
    }
});
Run Code Online (Sandbox Code Playgroud)

注意:

  • 下载位置与用户的 chrome 设置相同。
  • filename在文件名之前可以包含路径和文件夹名称,表示下载位置的子文件夹。
  • 它自动下载,没有任何弹出窗口来关闭保存

以下是更多规范: https: //developer.chrome.com/extensions/downloads

最后,我认为这只是一个替代方案。我仍然想知道这个问题的完美答案,就像我在这里也问的那样: Chrome扩展api是否支持直接从浏览缓存下载?