// ==UserScript== // @name pixiv快速打开原图&自动收藏&原图链接打包下载&图片预览 // @description 支持快速打开pixiv图片原图,快速收藏图片,快速获取页面所有预览图对应图片原图链接,储存本次使用时收藏图片的原图链接和获取的页面内浏览图的原图链接,并下载为txt。支持浏览已储存的图片链接,浏览鼠标所选图片大中小图片(储存页面所有浏览图原图链接时有可能会超出cookie的储存范围) // @version 2.9.0 // @namespace akari // @author Pikaqian // @include *://www.pixiv.net/* // @include *://www.pixivision.net/* // @icon https://static.hdslb.com/images/akari.jpg // @grant GM_setClipboard // @grant GM_xmlhttpRequest // @require https://cdn.jsdelivr.net/npm/jquery@3.2.1/dist/jquery.min.js // @downloadURL none // ==/UserScript== (function() { 'use strict'; var match_rules=[ /([_=:;&\-\/\.\?\d\w]+?illust_id=(\d+)(?:&|$|))/, /(http(?:s|):\/\/[_\-\/\.\d\w]+?\/(\d{4,})_p\d{1,4}[_\-\/\.\d\w]*)/ ]; let style = document.createElement('style'),rightButton,centerWrap,number=1,elem,deleteCookie,deleteAll,alert_count=0,morefunction,No1,No2,No3,No4,No5,visual_check="",No8 var svg_re="M1023.914667 315.733333h10.325333l-3.754667 105.130667h-12.202666c-62.890667 0-128.597333 22.528-146.432 109.824V832h-117.333334V325.12h117.333334v91.050667C901.888 332.629333 964.778667 315.733333 1023.914667 315.733333z" var svg_cat="M851.633231 841.386667C696.753231 841.386667 606.641231 784.128 606.641231 578.56S696.753231 315.733333 851.633231 315.733333c52.565333 0 100.437333 6.570667 131.413333 16.896V433.066667c-36.608-14.08-74.154667-19.712-119.210667-19.712-97.621333 0-136.106667 36.608-136.106666 166.144 0 127.658667 37.546667 163.328 137.984 163.328 42.24 0 84.48-5.632 121.088-19.712v99.498666c-29.098667 9.386667-87.296 18.773333-135.168 18.773334z" var svg_moe="M859.989333 315.733333c116.394667 0 168.021333 58.197333 168.021334 175.530667V832h-117.333334V517.546667c0-71.338667-19.712-104.192-83.541333-104.192-56.32 0-93.866667 18.773333-108.885333 78.848V832h-117.333334V517.546667c0-71.338667-18.773333-104.192-81.664-104.192-56.32 0-91.050667 16.896-107.008 76.032V832h-117.333333V325.12h117.333333v60.074667C441.344 335.445333 488.277333 315.733333 555.861333 315.733333c78.848 0 122.965333 26.282667 145.493334 75.093334C730.453333 335.445333 789.589333 315.733333 859.989333 315.733333z" var same_img="" document.body.appendChild(style); style.textContent=` #rightButton{ height:21px; width:21px; border-bottom-right-radius:21px; border-top-right-radius:21px; color:#fff; padding:6px; opacity:.20; left:-20px; cursor:pointer; transform-origin:0px 17px; transition: 0.2s } #rightButton{ position:fixed; z-index:10; font-size:14px} #rightButton{top:38%;background:#000} #deleteCookie{ height:21px; width:21px; border-bottom-right-radius:21px; border-top-right-radius:21px; color:#fff; padding:6px; opacity:.20; left:-20px; cursor:pointer } #deleteCookie{ position:fixed; z-index:10; font-size:14px; transform-origin:0px 17px; transition: 0.2s} #deleteCookie{top:45%;background:#000} #deleteAll{ height:21px; width:21px; border-bottom-right-radius:21px; border-top-right-radius:21px; color:#fff; padding:6px; opacity:.20; left:-20px; cursor:pointer; transform-origin:0px 17px; transition: 0.2s } #deleteAll{ position:fixed; z-index:10; font-size:14px} #deleteAll{top:57%;background:#f00} #morefunction{ height:21px; width:21px; border-bottom-right-radius:21px; border-top-right-radius:21px; color:#fff; padding:6px; opacity:.20; left:-20px; cursor:pointer; transform-origin:0px 17px; transition: 0.2s } #morefunction{ position:fixed; z-index:11; font-size:14px} #morefunction{top:52%;background:#000} #No1{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; transition:0.5s } #No1{ position:fixed; z-index:10; font-size:14px} #No1{top:52%;background:#f00} #No2{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; transition: 0.5s } #No2{ position:fixed; z-index:10; font-size:14px} #No2{top:52%;background:#000} #No3{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; transition: 0.5s } #No3{ position:fixed; z-index:10; font-size:14px} #No3{top:52%;background:#000} #text{ top:0%; background:#fff; color:black; opacity:.0; position:fixed; overflow:auto; z-index:3; left:-350px; width:280px; height:100%; border-radius:0px; transform-origin:-160px 0px; font-size:15px; padding-left:40px; padding-top:58px; line-height:30px; transition: 0.5s; }::-webkit-scrollbar{width:5px;}::-webkit-scrollbar-thumb{background:rgba(117,117,117,0.7);} #blackcover{ top:0%; background:#000; color:black; opacity:.0; position:fixed; overflow:auto; z-index:1; left:0px; width:100%; height:100%; transform-origin:0px 0px; display:none; transition: 0.5s } #covertitle{ top:0%; background:none; color:black; opacity:.0; position:fixed; overflow:auto; z-index:5; left:-160px; width:150x; height:36px; transform-origin:-160px 0px; padding-top:27px; padding-right:130px; font-size:20px; transition: 0.5s } #pagenumber{ top:34.7px; background:none; color:#606060; opacity:.0; position:fixed; z-index:5; left:-200px; width:50x; height:30px; font-weight:551; transform-origin:-160px 0px; font-size:10px; transition: 0.5s } #bigeye{ height:37px; width:37px; color:#fff; opacity:.0; left:-154px; padding-top:25px; transition: 0.5s } #bigeye{ position:fixed; z-index:4;} #bigeye{top:0px;background:none} #whitecover{ height:65px; width:320px; box-shadow:0px 0px 60px #fff; opacity:.0; left:-300px; transition: 0.5s } #whitecover{ position:fixed; z-index:3;} #whitecover{top:0px;background:#fff} #pages{ top:32px; height:15px; width:15px; opacity:.0; left:-200px; position:fixed; z-index:5; transition: 0.5s } #No4{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; transition: 0.5s } #No4{ position:fixed; z-index:10; font-size:14px} #No4{top:52%;background:#000} #picture{ position:absolute; z-index:1000; transition: 0.2s } #bigImg{ position:absolute; transform-origin:-160px 0px; opacity:1; transition: 1s } #bigImg_1{ position:absolute; transform-origin:-160px 0px; opacity:1; transition: 1s } #No5{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; position:fixed; z-index:10; font-size:14px; top:52%; background:#000; transition: 0.5s } #No6{ height:14px; width:14px;border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; position:fixed; z-index:10; font-size:14px; top:52%; background:#000; transition: 0.5s } #slider{ width:140px; outline:none; border-radius:3px; left:10px; top:200px; position:fixed; -webkit-appearance:button; cursor: pointer; transition: 0.3s; opacity:0; } #slider_box{ width: 23px; text-align: center; font-size: 13px; line-height: 23px; height: 23px; left: 10px; top: 174px; position: fixed; border-radius: 6px; cursor: pointer; background-color: #cbcbcb; opacity:0; transition: 0.3s; } #No7{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; position:fixed; z-index:10; font-size:14px; top:52%; background:#000; transition: 0.5s } #path14{ transition:0.3s } #explodeFinish{ position: fixed; bottom: 10px; left: 10px; font-size: 17px; background-color: black; color: white; padding-top: 8px; padding-bottom: 8px; padding-left: 12px; padding-right: 12px; border-radius: 10px; opacity: 0; transition: 0.2s } #insideText{ cursor:pointer } #visual_img{ position:fixed; z-index:10000; width:150px; } #No8{ height:14px; width:14px; border-radius:21px; color:#fff; padding:6px; opacity:.0; left:-20px; cursor:pointer; position:fixed; z-index:10; top:52%; background:#000; transition: 0.5s } `; function pictureSize(element){ var mouseX=event.clientX var mouseY=event.clientY var wide=element.clientWidth var hight=element.clientHeight var pagewide=document.documentElement.clientWidth var pagehight=document.documentElement.clientHeight var w1=wide/pagewide var h1=hight/pagehight if(w1<=h1){ element.style.height=pagehight-mouseY+"px"/*parseInt((1/h1)*hight)-100+"px"*/ //alert(pagehight+";"+hight) } else{ element.style.width=pagewide-mouseX+"px"/*parseInt((1/w1)*wide)-100+"px"*/ } //console.log(mouseX+";"+mouseY) //alert(pagewide+";"+pagehight) event.preventDefault() } //————————————————————————————————删除cookie function delCookie(name){ var date = new Date(); date.setTime(date.getTime() - 10000); document.cookie = name + "=a; expires=" + date.toGMTString()+";path=/"; //setCookie(name,"a",date.toGMTString()) } function downloadIamge(imgsrc, name) { let image = new Image(); image.setAttribute("crossOrigin", "anonymous"); image.onload = function() { let canvas = document.createElement("canvas"); canvas.width = image.width; canvas.height = image.height; let context = canvas.getContext("2d"); context.drawImage(image, 0, 0, image.width, image.height); let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据 let a = document.createElement("a"); // 生成一个a元素 let event = new MouseEvent("click"); // 创建一个单击事件 a.download = name || "photo"; // 设置图片名称 a.href = url; a.dispatchEvent(event); }; image.src = imgsrc; event.preventDefault() } function download(filename, text) { var element = document.createElement('a'); element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text)); element.setAttribute('download', filename); element.style.display = 'none'; document.body.appendChild(element); element.click(); document.body.removeChild(element); } function lastcookie(){ var matchrule=/pixivid/ var cookie_separate=document.cookie.split(";") for(var r=0;r0&&cookie_retract.split(",")[j].match(cookie_retract.split(",")[j-1].match(/\d{6,10}/)[0])!=null){ setCookie("pixivid"+new_cookieNum,getCookie("pixivid"+new_cookieNum)+","+cookie_retract.split(",")[j],-1) } else{ setCookie("pixivid"+(new_cookieNum+1),cookie_retract.split(",")[j],-1) new_cookieNum++ } retract_num++ } delCookie("pixiv_preurl") return 0 } //————————————————————————————————————————————————核爆·用户页面图片下载 function user_savepicture(){ getFinalUrl(2,"-1",-1) } function visualImg(event){ if(event.target.localName.match(/text\d{1,3}/)!=null){ var offT=event.target.offsetTop var offL=event.target.offsetLeft var imgId=event.target.innerText if(imgId.match("-")!=null){ window.open("https://pixiv.re/"+imgId+".png","block") } } } function visualPic(event){ if(event.target.localName.match(/text\d{1,3}/)!=null){ if(event.target.localName.match(/text\d{1,3}/)[0]!=visual_check){ if(document.getElementsByClassName("visual_img")!=null){ for(var re=0;re720||(x+bigImg.width)>1280){ bigImg.style.top=(parseInt(bigImg.style.top.match(/\d{1,4}/)[0])-bigImg.height-10)+"px" bigImg.style.left=(parseInt(bigImg.style.left.match(/\d{1,4}/)[0])-bigImg.width-10)+"px" } } */ if(getCookie("slider")==""){ setCookie("slider",1,90) } if(getCookie("preImg")==""){ setCookie("preImg",0,90) } if(getCookie("R-18_block")==""){ setCookie("R-18_block",0,90) } function bigpicture_1(x,y,innerHTML,event){ var bigImg_1 = document.createElement("img"); bigImg_1.id = 'bigImg_1'; bigImg_1.src = innerHTML; bigImg_1.style.top=parseInt(x)+5+"px" bigImg_1.style.left=parseInt(y)+5+"px" //bigImg_1.style.transform="scale(2)" //console.log(bigImg_1.offsetTop) if(getCookie("preImg")!="3"){ var spaceX=1,spaceY=1//1为下,0为上 if((720-(event.screenY+bigImg_1.height))<(event.screenY-bigImg_1.height)){ spaceY=0 } if((1280-(event.screenX+bigImg_1.width))<(event.screenX-bigImg_1.width)){ spaceX=0 } /* if((event.screenY+bigImg_1.height)>720){ //bigImg_1.transition="0" bigImg_1.style.top=(parseInt(bigImg_1.style.top.match(/\d{1,4}/)[0])-bigImg_1.height-10)+"px" //bigImg_1.transition="1" } if((event.screenX+bigImg_1.width)>1280){ bigImg_1.style.left=(parseInt(bigImg_1.style.left.match(/\d{1,4}/)[0])-bigImg_1.width-10)+"px" } */ if(spaceX==0){ bigImg_1.style.left=(parseInt(bigImg_1.style.left.match(/\d{1,4}/)[0])-bigImg_1.width-10)+"px" } if(spaceY==0){ bigImg_1.style.top=(parseInt(bigImg_1.style.top.match(/\d{1,4}/)[0])-bigImg_1.height-10)+"px" } } document.body.appendChild(bigImg_1); } var m="",n="" function GetMouse(oEvent){ m=oEvent.clientX; n=oEvent.clientY; //console.log(m) document.getElementById("bigImg").style.left=(parseInt(m)-100)+"px"; document.getElementById("bigImg").style.top=n+"px"; } function mouseX(event){ document.body.addEventListener('mousemove',(event)=>{ return event.clientX }) } function mouseY(event){ document.body.addEventListener('mousemove',(event)=>{ return event.clintY }) } function cookie_size(){ if(document.cookie.length>=7000&&document.cookie.length<7650&&getCookie("Size")!=1){ alert("链接储存即将溢出") var explode=document.getElementById("No2") explode.style.backgroundColor="black" setCookie("Size",1,-1) } else if(document.cookie.length>=7650){ alert('链接储存过大,已停止"核爆"与"Alt"功能使用,请尽快下载链接或清空cookie') explode=document.getElementById("No2") explode.style.backgroundColor="red" setCookie("Size",2,-1) } else if(document.cookie.length<7000){ setCookie("Size",0,-1) } } //图片链接获取id // function saveUrl(e){ // var page_out=e.target.closest("a").innerText//包含“R-18”等字符 // if(page_out.match(/R-18/)==null){ // if(page_out!=""){ // var page=page_out // } // else{ // var // page=1 // } // } // if(getCookie("outUrl")==0||getCookie("outUrl")==1){ // var Url=e.target.src.match(/\d{6,10}/)[0] // } // else{ // Url=e.target.src.match(/\d{4}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{6,10}(?=_p0)/)[0] // } // } //原图url请求 function getPageNum(event,element){//判断链接图片数量 if(element==0&&event!=null){ if(event.target.closest("a").innerText!=""&&event.target.closest("a").innerText.match(/^R-18$/)==null){ var pageNum=event.target.closest("a").innerText.match(/(?<=R\-18\n|^)\d{1,2}/)[0] return pageNum } else{ pageNum=1 return pageNum } } else if(event==0&&element!=null){ var pageCheck=element.outerHTML.match(/(?<=)\d{1,3}(?=<\/span>)/)//判断有没有图片 if(pageCheck!=null){ pageNum=element.outerHTML.match(/(?<=)\d{1,3}(?=<\/span>)/)[0] return pageNum } else{ pageNum=1 return pageNum } } } function getFinalUrl(k,e,num){//k=0为ctrl事件,k=1为alt事件,k-2为核爆,e为event即事件,num为图片数量 var block=""//防止cat和re在“图片数量限制”的影响下出现多张图片不加“-1”的情况 var num_alt=num var lastUrl=""//最终需要设置为cookie的元素 var set_moe if(k==2&&document.getElementsByClassName("sc-9y4be5-1 jtUPOE")[0].children.length!=0){//核爆事件;"document"部分用来判定页面上是否有可以核爆的元素,防止报错 var ULpicture=document.getElementsByClassName("sc-9y4be5-1 jtUPOE")[0].children for(var w=0;wgetCookie("slider")){//alt和ctrl时判断是否大于“最大打开次数” num=1 block="-1" } if(getCookie("outUrl")==0){//0为cat var cat_id=e.target.src.match(/\d{6,10}/)[0]//window.location.href.match(/\d{6,10}/) if(num>1){ if(k==0){ for(var i=1;i1){ if(k==0){ for(var j=1;j { for(var i=0;i1){ url=results[1] pid=results[2] break } } if(event.altKey!=true&&event.shiftKey!=true){ var pageNum=getPageNum(event,0) getFinalUrl(0,event,pageNum) event.preventDefault() } } //——————————————————————————————————————————ctrl事件结束,alt事件开始 //自动普通收藏↓↓↓ if(event.altKey==true&&event.ctrlKey!=true){ var HTML_click_1=event.target.closest("a") if(HTML_click_1!=null){ HTML_click_1.nextSibling.childNodes[0].childNodes[0].click() } event.preventDefault() //console.log("Complete click") } if(event.altKey==true&&event.ctrlKey==true){ if(event.target.closest("a").nextSibling.innerHTML.split("").length!=5){//判定是否为已经隐私收藏了 var id=event.target.src.match(/\d{6,10}/)[0] fetch("https://www.pixiv.net/ajax/illusts/bookmarks/add",{ headers: { "accept": "application/json", "content-type": "application/json; charset=utf-8", "x-csrf-token": '7e675d8cd7a7e8fdaf0445b494430daa' }, "referrer": "https://www.pixiv.net", 'method':'POST', 'body':JSON.stringify({illust_id: id, restrict: 1, comment: "", tags: []}) }) var lock_white=document.createElementNS("http://www.w3.org/2000/svg", 'path'); var lock_black=document.createElementNS("http://www.w3.org/2000/svg", 'path'); var lock_red=document.createElementNS("http://www.w3.org/2000/svg", 'path'); var lock_out=document.createElementNS("http://www.w3.org/2000/svg", 'path'); lock_white.setAttribute('d',"M29.9796 20.5234C31.1865 21.2121 32 22.511 32 24V28 C32 30.2091 30.2091 32 28 32H21C18.7909 32 17 30.2091 17 28V24C17 22.511 17.8135 21.2121 19.0204 20.5234 C19.2619 17.709 21.623 15.5 24.5 15.5C27.377 15.5 29.7381 17.709 29.9796 20.5234Z") lock_white.setAttribute('fill',"#fff") lock_black.setAttribute('d',"M28 22C29.1046 22 30 22.8954 30 24V28C30 29.1046 29.1046 30 28 30H21 C19.8954 30 19 29.1046 19 28V24C19 22.8954 19.8954 22 21 22V21C21 19.067 22.567 17.5 24.5 17.5 C26.433 17.5 28 19.067 28 21V22ZM23 21C23 20.1716 23.6716 19.5 24.5 19.5C25.3284 19.5 26 20.1716 26 21V22H23 V21Z") lock_black.setAttribute('fill',"#000") lock_black.setAttribute('clip-rule',"evenodd") lock_black.setAttribute('fill-rule',"evenodd") lock_red.setAttribute('d',"M16,11.3317089 C15.0857201,9.28334665 13.0491506,7.5 11,7.5 C8.23857625,7.5 6,9.73857647 6,12.5 C6,17.4386065 9.2519779,21.7268174 15.7559337,25.3646328 C15.9076021,25.4494645 16.092439,25.4494644 16.2441073,25.3646326 C22.7480325,21.7268037 26,17.4385986 26,12.5 C26,9.73857625 23.7614237,7.5 21,7.5 C18.9508494,7.5 16.9142799,9.28334665 16,11.3317089 Z") lock_red.setAttribute('fill',"#ff4060") lock_out.setAttribute('d',"M21,5.5 C24.8659932,5.5 28,8.63400675 28,12.5 C28,18.2694439 24.2975093,23.1517313 17.2206059,27.1100183 C16.4622493,27.5342993 15.5379984,27.5343235 14.779626,27.110148 C7.70250208,23.1517462 4,18.2694529 4,12.5 C4,8.63400691 7.13400681,5.5 11,5.5 C12.829814,5.5 14.6210123,6.4144028 16,7.8282366 C17.3789877,6.4144028 19.170186,5.5 21,5.5 Z") lock_out.setAttribute('fill',"#ff4060") event.target.closest("a").nextSibling.childNodes[0].childNodes[0].childNodes[0].childNodes[1].remove() event.target.closest("a").nextSibling.childNodes[0].childNodes[0].childNodes[0].appendChild(lock_red) event.target.closest("a").nextSibling.childNodes[0].childNodes[0].childNodes[0].appendChild(lock_out) event.target.closest("a").nextSibling.childNodes[0].childNodes[0].childNodes[0].appendChild(lock_white) event.target.closest("a").nextSibling.childNodes[0].childNodes[0].childNodes[0].appendChild(lock_black) getFinalUrl(1,event,getPageNum(event,0)) event.preventDefault() } else{ HTML_click_1=event.target.closest("a") if(HTML_click_1!=null){ HTML_click_1.nextSibling.childNodes[0].childNodes[0].click() } event.preventDefault() } } if(event.ctrlKey==true&&event.shiftKey==true){//直接下载图片 var down_1=event.target.parentNode.previousSibling.childNodes[1] if(down_1!=undefined){ var down_2=down_1.childNodes[0].innerText var html_pid=event.target.src.split("/")[event.target.src.split("/").length-1].split("_")[0] for(var img_num=1;img_num<=down_2;img_num++){ //downlad_img("https://pixiv.re/"+html_pid+"-"+img_num+".png") downloadIamge("https://pixiv.re/"+html_pid+"-"+img_num+".png",html_pid+"_"+(img_num-1)) } } else{ html_pid=event.target.src.split("/")[event.target.src.split("/").length-1].split("_")[0] downloadIamge("https://pixiv.re/"+html_pid+".png",html_pid+"_0") } } } }); //———————————————————————————————————————————————————————————— var num=0 //————————————————————————————————创建cookie function setCookie(cname,cvalue,exdays){ var cookie_all=cname /* for(var i=0;i<20;i++){ cookie_all=cookie_all+"1" } */ //exdays=-1 if(exdays!=-1){ var d = new Date(); d.setTime(d.getTime()+(exdays*24*60*60*1000)); var expires = "expires="+d.toGMTString(); cookie_all=cname+"="+cvalue+"; "+expires+";path=/" } else{ cookie_all=cname+"="+cvalue+"; "+exdays+";path=/" } document.cookie = cookie_all; num=num+1 } //————————————————————————————————调取cookie function getCookie(cname){ var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i1){ var url_result=result[1] var pid=result[2] break } } /////////////////////////////////////////////////////// if(getCookie("Size")!=2){ if(event.altKey==true&&event.ctrlKey!=true){ if(event.target.src!=null){ getFinalUrl(1,event,getPageNum(event,0)) } num=lastcookie() //setCookie("pixivid"+num,url,-1); cookie_size() event.preventDefault() } } else{ //alert("链接储存过大,已禁用Alt快速收藏、储存链接功能") cookie_size() } var user=getCookie("pixivid"); var x = document.cookie //console.log(x) }) //———————————————————————————————— /* window.addEventListener('contextmenu',function (event){ if(event.ctrlKey==true&&event.shiftKey==true){ var down_1=event.target.parentNode.previousSibling.childNodes[1] if(down_1!=undefined){ var down_2=down_1.childNodes[0].innerText var html_pid=event.target.src.split("/")[event.target.src.split("/").length-1].split("_")[0] for(var img_num=1;img_num<=down_2;img_num++){ //downlad_img("https://pixiv.re/"+html_pid+"-"+img_num+".png") downloadIamge("https://pixiv.re/"+html_pid+"-"+img_num+".png",html_pid+"_"+(img_num-1)) } } else{ html_pid=event.target.src.split("/")[event.target.src.split("/").length-1].split("_")[0] downloadIamge("https://pixiv.re/"+html_pid+".png",html_pid+"_0") } } }) */ rightButton.addEventListener('mouseenter',()=>{ elem=getelemt("rightButton") elem.style.transform="translateX(20px)" }) rightButton.addEventListener('mouseleave',()=>{ elem=getelemt("rightButton") elem.style.transform="translateX(0px)" }) deleteCookie.addEventListener('mouseenter',()=>{ elem=getelemt("deleteCookie") elem.style.transform="translateX(20px)" }) deleteCookie.addEventListener('mouseleave',()=>{ elem=getelemt("deleteCookie") elem.style.transform="translateX(0px)" }) //—————————————————————————————————————————————————————— morefunction.addEventListener('mouseenter',()=>{ var elem=getelemt("morefunction") elem.style.transform="translateX(20px)" }) morefunction.addEventListener('mouseleave',()=>{ var elem=getelemt("morefunction") elem.style.transform="translateX(0px)" }) No2.addEventListener('click',()=>{ //———————————————————————————————————————————————————————————————————————————————————————— user_savepicture() }) var click_num=0 var w=1 morefunction.addEventListener('click',()=>{ if(document.getElementById("slider").style.display=="block"){ slider.style.opacity="0" slider_box.style.opacity="0" setTimeout(function () { slider.style.display="none" }, 250); setTimeout(function () { slider_box.style.display="none" }, 250); } w=Math.pow(-1, click_num) var elem_1=getelemt("No1") var elem_2=getelemt("No2") var elem_3=getelemt("No3") var elem_4=getelemt("No4") var elem_5=getelemt("No5") var elem_6=getelemt("No6") var elem_7=getelemt("No7") var elem_8=getelemt("No8") var elem=getelemt("morefunction") elem.style.transform="translateX(20px)" if(w>0){ elem_1.style.opacity="0.25" elem_2.style.opacity="0.20" elem_3.style.opacity="0.20" elem_4.style.opacity="0.20" elem_5.style.opacity="0.20" elem_6.style.opacity="0.20" elem_7.style.opacity="0.20" elem_8.style.opacity="0.20" elem_1.style.transform="rotate(49deg) translateX(75px)" elem_2.style.transform="rotate(-9deg) translateX(117px)" elem_3.style.transform="rotate(12deg) translateX(69px)" elem_4.style.transform="rotate(39deg) translateX(117px)" elem_5.style.transform="rotate(64deg) translateX(122px)" elem_6.style.transform="rotate(-33deg) translateX(126px)" elem_7.style.transform="rotate(-17deg) translateX(77px)" elem_8.style.transform="rotate(16deg) translateX(117px)" click_num++ } else if(w<0){ elem_1.style.opacity="0" elem_2.style.opacity="0" elem_3.style.opacity="0" elem_4.style.opacity="0" elem_5.style.opacity="0" elem_6.style.opacity="0" elem_7.style.opacity="0" elem_8.style.opacity="0" elem_1.style.transform="rotate(0deg) translateX(0px)" elem_2.style.transform="rotate(0deg) translateX(0px)" elem_3.style.transform="rotate(0deg) translateX(0px)" elem_4.style.transform="rotate(0deg) translateX(0px)" elem_5.style.transform="rotate(0deg) translateX(0px)" elem_6.style.transform="rotate(0deg) translateX(0px)" elem_7.style.transform="rotate(0deg) translateX(0px)" elem_8.style.transform="rotate(0deg) translateX(0px)" //elem.style.transform="translateX(0px)" click_num++ } }) var click_num_1=0 var v=1 No3.addEventListener('click',()=>{ if(document.getElementById("slider").style.display=="block"){ slider.style.opacity="0" slider_box.style.opacity="0" setTimeout(function () { slider.style.display="none" }, 250); setTimeout(function () { slider_box.style.display="none" }, 250); } v=Math.pow(-1, click_num_1) click_num_1++ var elem_1=document.getElementsByTagName("cookie_text")[0] var elem_2=document.getElementsByTagName("text_background")[0] var elem_3=document.getElementsByTagName("black_cover")[0] var elem_7=document.getElementsByTagName("cover_title")[0] var elem_12=document.getElementsByTagName("page_number")[0] var elem_8=getelemt("bigeye") var elem_10=getelemt("whitecover") var elem_11=getelemt("pages") //——————————————————————————————————————————————————————————可以设为函数 var cookie_split=document.cookie.split(";") var cookie_txt="" var p=0 for(var k=0;k0){ elem_1.style.opacity="1" elem_1.style.transform="translateX(350px)" elem_10.style.opacity="1" elem_10.style.transform="translateX(300px)" //elem_2.style.opacity="0.4" elem_2.style.transform="translateX(160px)" elem_3.style.display="block" setTimeout(function () { elem_3.style.opacity="0.3" }, 0.1); elem_7.style.transform="translateX(234px)" elem_7.style.opacity="1" elem_8.style.transform="translateX(191px)" elem_8.style.opacity="1" elem_11.style.transform="translateX(443px)" elem_11.style.opacity="1" elem_12.style.transform="translateX(462px)" elem_12.style.opacity="1" var elem_4=getelemt("No1") var elem_5=getelemt("No2") var elem_6=getelemt("No3") var elem_13=getelemt("No4") var elem_14=getelemt("No5") var elem_15=getelemt("No6") var elem_16=getelemt("No7") var elem_17=getelemt("No8") var elem=getelemt("morefunction") elem_4.style.opacity="0" elem_5.style.opacity="0" elem_6.style.opacity="0" elem_13.style.opacity="0" elem_14.style.opacity="0" elem_15.style.opacity="0" elem_16.style.opacity="0" elem_17.style.opacity="0" elem_4.style.transform="rotate(0deg) translateX(0px)" elem_5.style.transform="rotate(0deg) translateX(0px)" elem_6.style.transform="rotate(0deg) translateX(0px)" elem_13.style.transform="rotate(0deg) translateX(0px)" elem_14.style.transform="rotate(0deg) translateX(0px)" elem_15.style.transform="rotate(0deg) translateX(0px)" elem_16.style.transform="rotate(0deg) translateX(0px)" elem_17.style.transform="rotate(0deg) translateX(0px)" click_num++ } else{ elem_1.style.opacity=".0" elem_1.style.transform="translateX(0px)" elem_1.style.fontSize="15px" elem_10.style.opacity=".0" elem_10.style.transform="translateX(0px)" elem_2.style.opacity=".0" elem_2.style.transform="translateX(0px)" elem_3.style.opacity=".0" setTimeout(function () { elem_3.style.display="none" }, 300); elem_7.style.transform="translateX(0px)" elem_7.style.opacity="0" elem_8.style.transform="translateX(0px)" elem_8.style.opacity="0" elem_11.style.transform="translateX(0px)" elem_11.style.opacity="0" elem_12.style.transform="translateX(0px)" elem_12.style.opacity="0" elem_1.innerText="" } }) var textPart=document.getElementById("text") textPart.addEventListener('click',function(event){ if(event.target.localName.match(/text\d{1,3}/)!=null){ var textLink="https://www.pixiv.net/artworks/"+event.target.innerText.match(/\d{6,10}/)[0] window.open(textLink) } }) No4.addEventListener('click',()=>{ retract() }) document.getElementsByTagName("black_cover")[0].addEventListener('click',()=>{ var elem_1=document.getElementsByTagName("cookie_text")[0] var elem_2=document.getElementsByTagName("text_background")[0] var elem_3=document.getElementsByTagName("black_cover")[0] var elem_7=document.getElementsByTagName("cover_title")[0] var elem_8=getelemt("bigeye") var elem_10=getelemt("whitecover") var elem_11=getelemt("pages") var elem_12=document.getElementsByTagName("page_number")[0] elem_1.style.opacity=".0" elem_1.style.transform="translateX(0px)" elem_1.style.fontSize="15px" elem_10.style.opacity=".0" elem_10.style.transform="translateX(0px)" elem_2.style.opacity=".0" elem_2.style.transform="translateX(0px)" elem_3.style.opacity=".0" setTimeout(function () { elem_3.style.display="none" }, 300); elem_7.style.transform="translateX(0px)" elem_7.style.opacity="0" elem_8.style.transform="translateX(0px)" elem_8.style.opacity="0" elem_11.style.transform="translateX(0px)" elem_11.style.opacity="0" elem_12.style.transform="translateX(0px)" elem_12.style.opacity="0" click_num_1++ elem_1.innerText="" }) // 搜索页快捷键翻页 window.addEventListener('keydown',function(event){ if(window.location.href.match(/\/tags\//)!=null){ var clickNum=document.querySelectorAll(".fuSMYC")//获取除已选页数以外的页数按钮 if(event.keyCode=="37"&&clickNum[0].hidden==false){//判断左翻页按钮是否隐藏 clickNum[0].click() } else if(event.keyCode=="39"&&clickNum[1].hidden==false){//判断右翻页按钮是否隐藏 clickNum[1].click() } } }) rightButton.addEventListener('click',()=>{ var cookie_split=document.cookie.split(";") var cookie_txt var p=0 //————————————————————————————————从cookie中匹配pixivid相关cookie for(var k=0;k{ var preCheck=getCookie("preImg") var path_color=document.getElementById("path12") var pretext="0" if(preCheck==""||preCheck=="0"){ pretext="1" path_color.style.fill="#0f0" } else if(preCheck=="1"){ pretext="2" path_color.style.fill="#00a4ff" } else if(preCheck=="2"){ pretext="3" path_color.style.fill="#f00" } else if(preCheck=="3"){ pretext="0" path_color.style.fill="#fff" } setCookie("preImg",pretext,90) }) var No6=document.getElementById("No6") var slider_box=document.getElementById("slider_box") var slider=document.getElementById("slider") No6.addEventListener('click',function(event){ if(slider.style.display=="block"){ slider.style.opacity="0" slider_box.style.opacity="0" setTimeout(function () { slider.style.display="none" }, 250); setTimeout(function () { slider_box.style.display="none" }, 250); } else{ slider.style.display="block" slider_box.style.display="block" setTimeout(function () { slider.style.opacity="1" }, 0.1); setTimeout(function () { slider_box.style.opacity="1" }, 0.1); } if(slider.value!=10){ slider_box.innerText=slider.value slider_box.style.backgroundColor="#cbcbcb" } else{ slider_box.innerText="∞" slider_box.style.backgroundColor="#f7cbcb" } slider.oninput=function(){ if(slider.value!=10){ slider_box.innerText=slider.value slider_box.style.backgroundColor="#cbcbcb" } else{ slider_box.innerText="∞" slider_box.style.backgroundColor="#f7cbcb" } setCookie("slider",slider.value,90) } }) var No7=document.getElementById("No7") No7.addEventListener('click',function(event){ var path14=document.getElementById("path14") if(getCookie("R-18_block")==""||getCookie("R-18_block")=="0"){ setCookie("R-18_block",1,90) path14.style.fill="#f00" } else if(getCookie("R-18_block")=="1"){ setCookie("R-18_block",0,90) path14.style.fill="#fff" } //alert("没做完呢,点你妈") }) document.getElementById("No8").addEventListener('click',function(e){ if(getCookie("outUrl")==0){ setCookie("outUrl",1,90) document.getElementById("path15").setAttribute('d',svg_re) document.getElementById("path15").style.transform="scale(0.017) translate(-424px, -120px)" console.log('a') } else if(getCookie("outUrl")==1){ setCookie("outUrl",2,90) document.getElementById("path15").setAttribute('d',svg_moe) document.getElementById("path15").style.transform="scale(0.016) translate(-204px, -130px)" } else if(getCookie("outUrl")==2){ setCookie("outUrl",0,90) document.getElementById("path15").setAttribute('d',svg_cat) document.getElementById("path15").style.transform="scale(0.017) translate(-391px, -130px)" } }) deleteCookie.addEventListener('click',()=>{ var pid_num=lastcookie() delCookie("pixivid"+(pid_num-1)) }) No1.addEventListener('click',()=>{ var pid_num=lastcookie() if(alert_count==0){ alert("是否要清除所有已储存的pixiv图片链接?\n关闭此提示后再次点击清楚按钮即可清除。") alert_count=1 } else if(alert_count==1){ for(var v=pid_num-1;v>=0;v--){ var pixiv_preurl if(pixiv_preurl==null){ pixiv_preurl=getCookie("pixivid"+v) } else{ var occup="" if(pixiv_preurl.substr(pixiv_preurl.length-1,1)!=","){ occup="," } pixiv_preurl=pixiv_preurl+occup+getCookie("pixivid"+v) } delCookie("pixivid"+(v)) } delCookie("user_url") setCookie("pixiv_preurl",pixiv_preurl,-1) alert("已清除所有pixiv图片链接") alert_count=0 } }) } checkCookie() //———————————————————————————————————————————————————————————— var left_1,top_1 document.body.addEventListener('mousemove',function(event){ var pre_check=getCookie("preImg") if((pre_check=="1"||pre_check=="2"||pre_check=="3")&&event.ctrlKey!=true){ var left_1=event.pageX+"px" var top_1=event.pageY+"px" event.target.addEventListener('mousemove',(event)=>{ left_1=event.pageX+"px" top_1=event.pageY+"px" }) var kid=event.target.innerHTML// if(kid==""){ kid=event.target.parentNode.innerHTML } //var father_check=event.target.parentNode.parentNode.parentNode.parentNode.parentNode.parentNode var eventt=event.target for(var ab=0;ab<10;ab++){ if(eventt==null){ break } else if(eventt.className=="sc-1nhgff6-4 boBnlf"||eventt.className=="sc-l7cibp-1 krFoBL"||eventt.className=="sc-9y4be5-1 jtUPOE"||eventt.className=="sc-1kr69jw-0 hkzusx"/*||eventt.className=="l7cibp-1 iTgRcY"*/){//分别对应“大图页面画师下方滚动图”,“大图页面图片推荐、主页‘推荐作品’”,“主页除‘推荐作品’以外大部分位置” var className=true break } else{ eventt=eventt.parentNode } } //var className=father_check.className if(kid.match("square1200.jpg")!=null&&className!=""||kid.match("custom1200.jpg")!=null&&className!=""){ var url=window.location.href if(className==true){ if(url.match("artwork")!="null"){ if(event.target.childNodes.length!=0){ var innerHTML=event.target.childNodes[0].currentSrc } else{ innerHTML=event.target.currentSrc } if(innerHTML!=undefined){ if(getCookie("preImg")=="2"){ //https://i.pximg.net/c/540x540_70/img-master/img/2021/08/21/18/55/36/92152529_p0_master1200.jpg //https://i.pximg.net/c/250x250_80_a2/custom-thumb/img/2020/07/16/06/21/20/83003632_p0_custom1200.jpg //innerHTML=innerHTML.replace(/square1200/,"master1200") var inside=innerHTML.match(/\d{4}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{6,10}_p0/)[0] innerHTML="https://i.pximg.net/c/540x540_70/img-master/img/"+inside+"_master1200.jpg" } if(getCookie("preImg")=="3"){ inside=innerHTML.match(/\d{4}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{2}\/\d{6,10}_p0/)[0] innerHTML="https://i.pximg.net/img-master/img/"+inside+"_master1200.jpg" } if(document.getElementById("bigImg_1")!=null){ if(event.target.src==same_img){ innerHTML=document.getElementById("bigImg_1").src } else{ same_img=event.target.src } } addImg(top_1,left_1,innerHTML,event) if(getCookie("preImg")=="3"){ pictureSize(document.getElementById("bigImg_1")) } } //bigImg.style.transform="scale(1.5)" //GetMouse() //console.log(event.target) } } } } }) document.body.addEventListener('mousemove',function(event){ var eventT=event.target //console.log(eventT.className) for(var aa=0;aa<10;aa++){ if(eventT==null){ break } if(eventT.className=="sc-iasfms-1 hYfnPb"||eventT.className=="sc-iasfms-3 jDiPOg"||eventT.className=="sc-l7cibp-1 krFoBL"){//分别对应“大图片页面下推荐图片部分单个图片”和“主页面部分图片单个图片”、“大图片页面画师信息下滚动部分单个图片” var ab=true break } else{ eventT=eventT.parentNode ab=false } } if(ab==false){ var search=document.getElementById("bigImg") if(search==null){ search=document.getElementById("bigImg_1") } if(search!=null){ search.remove() } } }) window.addEventListener('keydown',function(event){ if(document.getElementById("bigImg_1")!=null||document.getElementById("bigImg")!=null){ var preview=document.getElementById("bigImg") if(preview==null){ preview=document.getElementById("bigImg_1") } var preSrc=preview.src.split(/_p\d{1,3}_/) var preNum=parseInt(preview.src.match(/_p\d{1,3}_/)[0].match(/\d{1,3}/)) if(event.keyCode===188){ if(preNum!=0){ preview.src=preSrc[0]+"_p"+(preNum-1)+"_"+preSrc[1]} } else if(event.keyCode===190){ preview.src=preSrc[0]+"_p"+(preNum+1)+"_"+preSrc[1] } } }) window.addEventListener('mousemove',function(event){ visualPic(event) }) })();