try to take over the world!
// ==UserScript==
// @name 修身学堂整页下载
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match http://gdslzstsg.superlib.libsou.com/node/409.jspx*
// @grant GM_download
// @connect http://photoapps.yd.chaoxing.com/*
// ==/UserScript==
(function () {
'use strict';
const head = document.getElementsByTagName('head');
head[0].insertAdjacentHTML('beforeend', `<style type="text/css">
.hx-download-the-page{
font-size:16px;
line-height:30px;
color:#999;
cursor: pointer;
user-select:none;
}
.hx-download-the-page:before{
content:'';
position: absolute;
background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNTA4IDUwOCIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+IDxjaXJjbGUgc3R5bGU9ImZpbGw6I0ZGRDA1QjsiIGN4PSIyNTQiIGN5PSIyNTQiIHI9IjI1NCIvPiA8cGF0aCBzdHlsZT0iZmlsbDojRkZGRkZGOyIgZD0iTTM3Mi44LDE5NkgzNjhjLTIuNC00MC40LTM1LjYtNzIuNC03Ni40LTcyLjRjLTQsMC04LDAuNC0xMS42LDAuOGMtMTYtMjguNC00Ni00Ny42LTgwLjgtNDcuNiBjLTUxLjIsMC05Mi40LDQxLjYtOTIuNCw5Mi40YzAsMTAuOCwyLDIxLjIsNS4yLDMwLjhjLTI1LjIsMTAtNDIuOCwzNC00Mi44LDYyLjRjMCwzNi40LDI5LjYsNjYuNCw2Ni40LDY2LjRoMjM3LjIgYzM2LjQsMCw2Ni40LTI5LjYsNjYuNC02Ni40QzQzOC44LDIyNS42LDQwOS4yLDE5NiwzNzIuOCwxOTZ6Ii8+IDxwYXRoIHN0eWxlPSJmaWxsOiNGRjcwNTg7IiBkPSJNMzI1LjIsMzYyLjRsLTY2LjQsNjYuNGMtMi44LDIuOC03LjIsMi44LTEwLDBsLTY2LTY2LjRjLTQuNC00LjQtMS4yLTEyLDQuOC0xMmgxNC44IGM0LDAsNy4yLTMuMiw3LjItNy4ydi05NmMwLTQsMy4yLTcuMiw3LjItNy4yaDc0LjhjNCwwLDcuMiwzLjIsNy4yLDcuMnY5NmMwLDQsMy4yLDcuMiw3LjIsNy4yaDE0LjggQzMyNi40LDM1MC40LDMyOS42LDM1OCwzMjUuMiwzNjIuNHoiLz4gPC9zdmc+IA==);
background-size: cover;
width: 50px;
height: 50px;
margin-left: -50px;
margin-top: -10px;
opacity: .35;
transform: scale(.65);
transition: all cubic-bezier(0.18, 0.89, 0.32, 1.28) 250ms;
}
.hx-download-the-page:hover {
color:#666;
}
.hx-download-the-page:hover:before {
opacity:1;
transform: scale(.7);
}
.hx-download-the-page:active:before {
opacity:.8;
transform: scale(.6) rotateZ(360deg);
}
</style>`);
const openDown2 = (url, title) => {
GM_download({
url,
name: title,
headers: {
Origin: '',
Referer: '',
},
onerror(e) {
console.log('onerror', e)
}
})
}
const getLastItem = arr => arr[arr.length - 1]
const downloadfn = () => {
document.querySelectorAll('#bookIFlist li').forEach(x => {
const url = x.querySelector('a').href
const title = x.querySelector('h2').innerText + '_' + getLastItem(url.split('/'))
openDown2(url, title)
})
}
const downloadpage = () => {
if (!JSON.parse(window.localStorage.hxconfirmed || 'false')) {
if (window.confirm('点击 确认 之后会创建多个下载请求,请将浏览器设置的【每次询问文件保存位置 】关掉')) {
window.localStorage.hxconfirmed = true
downloadfn()
}
} else {
downloadfn()
}
}
const downEL = document.createElement('span')
let length = '统计中…'
downEL.innerText = '下载本页 ' + length
setTimeout(_ => {
downEL.innerText = '下载本页 ' + document.querySelectorAll('#bookIFlist li').length
}, 1500)
downEL.className = 'hx-download-the-page'
downEL.addEventListener('click', downloadpage)
document.querySelector('.instit h1').parentElement.insertAdjacentElement('beforeend', downEL)
// Your code here...
})();