我已经搜寻了好几天了(现在很沮丧),试图弄清楚该怎么做。我对开发不是陌生的,但是我对Web开发特别陌生,并且我正在尝试为Firefox开发一个浏览器扩展。
我的问题是,尽管我已经很接近了,但我似乎无法从此处的谷歌搜索问题以及通过Web API搜索中找到确切的方法。
我希望扩展程序在单击时自动下载图像。我从这里的一个问题中找到了这段代码。
var link = document.createElement('a'); // I don't understand the point of this line given what I'm trying to do
link.href = 'images.jpg';
link.download = 'Download.jpg';
// I can work with the two lines above but I don't understand point of the lines below
document.body.appendChild(link);
link.click();
在查看了MDN文档之后,我知道我需要使用browser.broswerAction.onClicked,但是我无法弄清楚要做什么作为监听器(传递具有信息的监听器) (针对单击的特定图像)在MDN上的browserAction.onClicked上的示例使用tab作为侦听器,显然这对我不起作用,因为它将破坏我要实现的功能的全部目的。
到目前为止,对评论和答案做出回应。感谢您确认我发现的内容与我尝试执行的操作无关。因此,为什么我感到沮丧并提出了问题。
注意:如果您想知道为什么我要这样做。我将其作为一个项目来帮助我复习JS。我不想做其他事情或更少,因为我不喜欢网页设计,我想做一些只能在JS中完成的事情。
更新为此,我冒着被低估的风险,为将来的读者着想,因为我知道Google的感觉,并在这里遇到一个问题几年前问过,但从未回答。那就是我要透露的是我有一个尤里卡的时刻,并解决了我自己的问题。这是代码。在考虑了我的要求之后,它并不能完全解决它,因为它不能完全自动下载,因为它会提示您“保存文件”提示,但是我逐渐意识到,真正的自动下载可能不会出于安全原因是可能的。 (我完全理解)
var imgs = document.getElementsByTagName('IMG')
var tag;
for (var counter =0; counter< imgs.length; counter++)
{
if (imgs[counter].src == '')
continue;
tag = document.createElement('a');
tag.setAttribute('download', counter + '.jpg');
tag.href = imgs[counter].src;
document.body.appendChild(tag);
imgs[counter].onclick = function()
{
tag.click()
}
}