下载趣味盒的图片
// ==UserScript==
// @name 下载趣味盒的图片
// @namespace download-funbox-pic
// @version 0.1.2
// @description 下载pt网站的趣味盒的图片,兼容 NexusPHP 的网站,点击网页中的 下载趣味盒图片 按钮,游览器开始下载所有图片,23-4-4
// @author zip11
// @match https://*/fun.php?action=view
// @grant GM_download
// @grant GM_notification
// @license MIT
// ==/UserScript==
(function() {
'use strict';
// BUTTON 5
var button5 = document.createElement("button");
button5.id = "id005";
button5.textContent = "下载趣味盒图片";
button5.style.width = "140px";
button5.style.height = "20px";
button5.style.align = "center";
// END ~~~~~~~~
button5.onclick = function (){
msgk("开始下载任务");
picsnap();
//alert("开始下载任务");
};
//~~~~~~~~~~Add Button ~~~~~~~~~~~
//查找 上一页的 元素
var x = document.querySelector("body");
//在浏览器控制台可以查看所有函数,ctrl+shift+I 调出控制台,在Console窗口进行实验测试
console.log("button 对象:",x);
//添加 子元素
//x.appendChild(button5);
//insertBefore
x.parentNode.insertBefore(button5, x);
//~~~~~~~~~end~~~~~~~
// css选择图片网址,下载图片
function picsnap() {
console.log('点击了按键,复制funbox img');
// button5 text
// var p=document.getElementById("id005");
// p.innerHTML="开始下载";
//var dmmimg=document.getElementsByName("funbox");
let funimg=document.querySelectorAll("img");
let i;
// var img name
let mz1='';
// var img total number
let imgnum = funimg.length;
// button5 text
//p.innerHTML="num="+imgnum;
// 循环 下载 图片
for (i = 0; i < imgnum ; i++) {
// jpg src
let picdt = funimg[i].src;
console.log("jpg-src:"+picdt);
// jpg name
mz1 = GetPageName(picdt);
// 下载图片 数量 统计---st---
// no-down-img-number
let nodown_img = imgnum - i ;
// 按钮文本 修改 为 下载图片 剩余数量
//p.innerHTML="num="+nodown_img;
console.log("pic-num:" + nodown_img );
// 下载图片
down_jpg(picdt,mz1,i,imgnum);
}
// pic num = 0
// p.innerHTML="num=0";
}
// 下载图片
function down_jpg(ljtp,mz2,xzs,bmnum) {
// download jpg
GM_download({
url:ljtp,
name:mz2,
onload: () => {
// 下载完成,提示
xzs = xzs +1;
if(xzs == bmnum) {
console.log("xz-end:"+xzs);
GM_notification({
text:"下载结束-下载种子数量:"+xzs,
timeout: 2000
});
}
else {
console.log("xz-num:"+xzs+"/total_num:"+bmnum);
}
}
});
}
// msgbox 2s
function msgk(wb1) {
GM_notification({
text:wb1,
timeout: 2000
});
}
//获取url 文件名
function GetPageName(url)
{
var tmp= [];//临时变量,保存分割字符串
tmp=url.split("/");//按照"/"分割
var pp = tmp[tmp.length-1];//获取最后一部分,即文件名和参数
//tmp=pp.split("?");//把参数和文件名分割开
return pp;
}
})();