我正在尝试编写一个类似书签的 js 片段,它可以从开发人员工具控制台运行,它将为页面中的图像提供 src:
var x = ["PA633", "PA10", "PA11"];
function nextPage(i) {
$('#viewport div:first-child').animate({scrollTop: i}, 200);
i+=1020;
if (i < 20000) { setTimeout(nextPage, 200, i); }
for (index = 0; index < $('div.pageImageDisplay img').length; ++index) {
var page = /&pg=([A-Z]{2,3}\d+)&/.exec($('div.pageImageDisplay img')[index].src);
if ($.inArray(page[1], x) != -1) {
x.splice(x.indexOf(page[1]), 1);
var embiggen = $('div.pageImageDisplay img')[index].src.replace(/&w=\d+$/, "&w=1200");
console.log(embiggen);
}
}
}
该脚本的工作原理是它为每个图像提供正确的 src 链接。有没有办法让javascript自动下载/保存每个链接?可以单击每个链接(Chrome 在新选项卡中打开这些链接),但这样做有点乏味。
正确的做法是让 javascript 片段将图像保存到下载文件夹本身,但我有一个模糊的概念,这是不可能的。这可能吗?如果可能的话,那又如何实现呢?
请注意,此 javascript 不会直接包含在网页中,而是专门用于从开发工具控制台运行。
原文由 John O 发布,翻译遵循 CC BY-SA 4.0 许可协议
这需要几个不同的部分才能工作。首先,有必要添加(除非您可以重复使用现有的)页面链接,如下所示:
然后,您需要将
href
设置为要下载的文件的链接:请注意,我们也可以(至少在 Chrome 中)通过下载属性自动设置文件名。
最后,JavaScript 可以向锚标记本身发出点击事件:
运行时,它会自动下载文件。设置文件名似乎也可以防止它弹出文件对话框。