Greasy Fork

图片下载工具

图片下载工具,默认针对所有网页,在需要使用时按Esc 键之后点击图片,特征码为图片url 部分信息,可以自己调整。图片过多时,调用窗口可能被浏览器拦截,请点击允许。

目前为 2018-11-09 提交的版本。查看 最新版本

// ==UserScript==
// @name         图片下载工具
// @namespace    http://tampermonkey.net/
// @version      0.4
// @description  图片下载工具,默认针对所有网页,在需要使用时按Esc 键之后点击图片,特征码为图片url 部分信息,可以自己调整。图片过多时,调用窗口可能被浏览器拦截,请点击允许。
// @author       Raveny
// @include     *
// ==/UserScript==

(function() {
    'use strict';

document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0];
//设置按键绑定
if(e && e.keyCode==27){

var link = function(event){
//功能部分
event.preventDefault();
event.stopPropagation();

if(event.target.tagName == "IMG"){
//验证点击标签为图片

var img_src = new Array()
//创建数组
var index = event.target.src.lastIndexOf("\/");
var inus = event.target.src.substring(0, index+1);
//分割URL 获取最后 / 符号之前部分作为预设特征码
var inpusers = prompt(" 请输入特征码",inus); // 弹出用户输入input框

if(inpusers){

var img = document.getElementsByTagName("img")
//获取页面中 img 标签
for(var i = 0;i<img.length;i++){
if(img[i].src.indexOf(inpusers) !== -1 ){
//判断URL 中存在特征码
if(img_src.indexOf(img[i].src) == -1){
//判断数组中是否存在这个链接
img_src[img_src.length] = img[i].src
}
}
}

var ans = confirm(" 检测到图片数量"+img.length+'张 \n 匹配数量'+img_src.length+'张 \n 将要下载以下图片:\n' + img_src.join('\n'));

if(ans){
var inp = prompt(" 可以在此自定图片名称",'');

img_src.forEach(function(url) {
//遍历数组中的链接执行下面操作
var index = url.lastIndexOf("\/");
var inuw = url.substring(index + 1,url.length);

if(inp && inp !== ""){
//判断名称输入时点击了确定,并且输入不为空
index = url.lastIndexOf("\.");
if(img_src.length == 1){var n = ""}else{n = img_src.indexOf(url)+1}
inuw = inp+n+url.substring(index,url.length);
}

var alink = document.createElement("a");
//创建 a 标签准备调用执行下载
alink.href = url
alink.download = inuw
alink.click()
});

}else{
alert("取消下载")
}

}else{
return;
}
}
//删除鼠标点击事件
document.removeEventListener('click', link, true);
}
//绑定鼠标点击事件
document.addEventListener('click', link, true);
}
}
})();