您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Resizes pics on Sankaku beta to full window size when you touch the left side of the window with your cursor. Uses the Magic Kernel Sharp algorithm for scaling.
// ==UserScript== // @name Scale Sankaku Beta // @version 0.1.3 // @description Resizes pics on Sankaku beta to full window size when you touch the left side of the window with your cursor. Uses the Magic Kernel Sharp algorithm for scaling. // @author Octopus Hugger // @icon https://s2.googleusercontent.com/s2/favicons?domain=https://beta.sankakucomplex.com/ // @grant GM_xmlhttpRequest // @connect * // @match *://beta.sankakucomplex.com/* // @license WTFPL // @require https://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.1/jquery.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/lodash.js/2.4.1/lodash.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.2.0/js/bootstrap.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/lie/3.1.1/lie.min.js // @require https://cdnjs.cloudflare.com/ajax/libs/pica/9.0.1/pica.min.js // @namespace https://greasyfork.org/users/879890 // ==/UserScript== // Changelog // 0.1.3 // Improved text readout. // 0.1.2 // Updated description and changelog and decreased rate of checking for Imagus. // 0.1.1 // Fixed issue where the feature to always load original after it's been loaded at least once sometimes didn't work. (function() { 'use strict'; if (window.top != window.self){ //-- Don't run on frames or iframes return; } function sleep(ms) { return new Promise(resolve => setTimeout(resolve, ms)); } function base64img(i){ let canvas = document.createElement('canvas'); canvas.width = i.width; canvas.height = i.height; let context = canvas.getContext("2d"); context.drawImage(i, 0, 0); let blob = canvas.toDataURL("image/png"); return blob; } function ImgToCanvas(i){ let canvas = document.createElement('canvas'); canvas.width = i.width; canvas.height = i.height; let context = canvas.getContext("2d"); context.drawImage(i, 0, 0); return canvas; } let resizer; let resizer_mode = { js: true, wasm: true, cib: false, ww: true }; function create_resizer() { let opts = []; Object.keys(resizer_mode).forEach(function (k) { if (resizer_mode[k]) opts.push(k); }); resizer = window.pica({ features: opts }); } create_resizer(); let cancelactiveresizes; let cancelresize = new Promise((_, reject) => cancelactiveresizes = reject); let currentpic = "null?" let maindiv = null let savedwidth = null let imagestore = {} let mainimg = null let towindowsize = false let mydiv = null let imgfirstload = true let purgewaittime = 15000 function purgeimage(linkvar){ if (currentpic !== linkvar&&linkvar!=inprogress){ delete imagestore[linkvar] } else{ imagestore[linkvar+"myexpire"] = setTimeout(purgeimage,purgewaittime,linkvar) } } function getSankImageType(linkvar){ if(linkvar==null||linkvar==undefined) return null if(linkvar.search("preview")!==-1){ return "Thumbnail" } else if(linkvar.search("sample")!==-1){ return "Sample" } else { return "Original" } } let imagereadoutcount = 0 let readoutlinkvar=null function imagereadout(inputtext,w,linkvar,editnumber){ if(linkvar!==null&&linkvar!==undefined&&linkvar!=="null?"){ if(readoutlinkvar!==null&&linkvar!==readoutlinkvar){ return } if(inputtext=="Waiting for server"&&getSankImageType(linkvar)=="Original") return } if(imagereadoutcount>=50&&inputtext!=="Scaling Complete"){ clearimagereadout() if(linkvar.search("sankakucomplex.com")!==-1){ imagereadout(getSankImageType(linkvar),w,linkvar) } } let currentreadout if(editnumber!==undefined&&editnumber!==null){ currentreadout = imagereadoutcount } else{ imagereadoutcount+=1 currentreadout = imagereadoutcount } let readouttext = document.createElement("readouttext"+currentreadout) readouttext.id = "readouttext"+currentreadout readouttext.style.pointerEvents="none" readouttext.style.backgroundColor="black" readouttext.style["border-color"]="black" if(inputtext=="Original") { readouttext.style.backgroundColor="#F70DFF" readouttext.style["border-color"]="#F70DFF" } else if(inputtext=="Sample") { readouttext.style.backgroundColor="#1C37FF" readouttext.style["border-color"]="#1C37FF" } else if(inputtext=="Thumbnail") { readouttext.style.backgroundColor="#FF0000" readouttext.style["border-color"]="#FF0000" } readouttext.style.color="white" readouttext.style["border-style"]="solid" readouttext.innerText=inputtext if(document.getElementById('readouttext'+currentreadout) !== null){ document.getElementById('mydiv').replaceChild(readouttext,document.getElementById('readouttext'+currentreadout)) } else{ document.getElementById('mydiv').appendChild(readouttext) } if(w==window.innerWidth||imagereadoutcount>1&&document.getElementById('readouttext'+(imagereadoutcount-1)).offsetLeft>=0){ if(imagereadoutcount>1&&document.getElementById('readouttext'+(imagereadoutcount-1)).offsetLeft<0){ for(let i=1;i<imagereadoutcount;i++){ document.getElementById('readouttext'+i).style.position="relative" document.getElementById('readouttext'+i).style.top="-20px" document.getElementById('readouttext'+i).style.left=(3*(i-1)+"px") } } readouttext.style.position="relative" readouttext.style.top="-20px" readouttext.style.left=(3*(imagereadoutcount-1)+"px") } else{ if(imagereadoutcount>1&&document.getElementById('readouttext'+(imagereadoutcount-1)).offsetLeft>=0){ for(let i=1;i<imagereadoutcount;i++){ document.getElementById('readouttext'+i).style.position="absolute" let down = 0 for(let u=1;u<i;u++) down+=Math.floor(document.getElementById('readouttext'+u).getBoundingClientRect().height) document.getElementById('readouttext'+i).style.left="-"+Math.floor(document.getElementById('readouttext'+i).getBoundingClientRect().width)+"px" document.getElementById('readouttext'+i).style.top=((i-1)*2)+down+"px" } } readouttext.style.position="absolute" let down = 0 for(let i=1;i<imagereadoutcount;i++) down+=Math.floor(document.getElementById('readouttext'+i).getBoundingClientRect().height) readouttext.style.left="-"+(Math.floor(readouttext.getBoundingClientRect().width))+"px" readouttext.style.top=((imagereadoutcount-1)*(2))+down+"px" } } function clearimagereadout(){ if (imagereadoutcount>0){ for (let i=1;i<=imagereadoutcount;i++){ document.getElementById('readouttext'+i).setAttribute("style","display:none") } imagereadoutcount=0 readoutlinkvar=null } } function resizenow(linkvar,width,height){ cancelactiveresizes(); let cancelresize = new Promise((_, reject) => cancelactiveresizes = reject); if(towindowsize){ if (window.innerWidth/imagestore[linkvar].width<window.innerHeight/imagestore[linkvar].height){ height=Math.round(imagestore[linkvar].height*window.innerWidth/imagestore[linkvar].width) width=window.innerWidth } else{ width=Math.round(imagestore[linkvar].width*window.innerHeight/imagestore[linkvar].height) height=window.innerHeight } } let imgbtmp = null let imgCanvas = document.createElement("canvas"), imgContext = imgCanvas.getContext("2d"); imgCanvas.width=Math.round(width); imgCanvas.height=Math.round(height); imgContext.drawImage(imagestore[linkvar], 0, 0, imgCanvas.width, imgCanvas.height); let options = {cancelToken: cancelresize} let starttime = Date.now() resizer.resize(imagestore[linkvar], imgCanvas, options) .then(function () { imgCanvas.style.zIndex = 2147483648 imgCanvas.style.visibility = "visible"; imgCanvas.style.position="absolute"; imgCanvas.style.pointerEvents="none"; imgCanvas.style["box-shadow"]="0 0 100px black"; if(towindowsize){ if(mydiv==null){ mydiv=document.createElement('div') mydiv.width="100%" mydiv.height="100%" } mydiv.style.top=Math.round(getScrollTop()+window.innerHeight/2-height/2)+"px"; if(bigscreensankaku&&width>=window.innerWidth-280){ mydiv.style.left=Math.round((window.innerWidth-280)/2-width/2+280-(width-(window.innerWidth-280))/2)+"px"; } else if(bigscreensankaku){ mydiv.style.left=Math.round((window.innerWidth-280)/2-width/2+280)+"px"; } else{ mydiv.style.left=Math.round(window.innerWidth/2-width/2)+"px"; } mydiv.id="mydiv" mydiv.style.boxSizing="content-box" mydiv.style.zIndex = 2147483648 mydiv.style.visibility = "visible"; mydiv.style.position="absolute"; mydiv.style.pointerEvents="none"; mydiv.style.display = "block" let scaletime = Date.now()-starttime if (scaletime < 1000){ imagereadout("Scaling Complete "+(scaletime)+"ms",width,null,2) } else if (scaletime <10000){ imagereadout("Scaling Complete "+(Math.round(scaletime/100)/10)+"s",width,null,2) } else{ imagereadout("Scaling Complete "+(Math.round(scaletime/1000))+"s",width,null,2) } if(document.getElementById('upscaledimgcanvas2') !== null){ mydiv.replaceChild(imgCanvas,document.getElementById('upscaledimgcanvas2')); } else{ document.body.parentNode.insertBefore(mydiv,null); mydiv.insertBefore(imgCanvas,null); } imgCanvas.id="upscaledimgcanvas2"; setlast=2 } else{ if(document.getElementById('upscaledimgcanvas') !== null){ maindiv.replaceChild(imgCanvas,document.getElementById('upscaledimgcanvas')); } else{ maindiv.insertBefore(imgCanvas,maindiv.firstChild); } imgCanvas.id="upscaledimgcanvas"; setlast=1 } inprogress="null?" currentpic = linkvar clearTimeout(imagestore[linkvar+"myexpire"]) imagestore[linkvar+"myexpire"]=setTimeout(purgeimage,purgewaittime,linkvar) }) .catch(function (err) { inprogress="null?" throw err; }); } function checkfordiv(){ if (maindiv==null){ let divs = document.getElementsByTagName("div") for (let div of divs) { if (div.style.zIndex == 2147483647) { clearInterval(divchecking) maindiv = div resize_ob.observe(maindiv); } } } } function loop(){ if (maindiv.style.display !== "none") { } } let downloadstarttime = null let bigscreensankaku = false let thingie = null let inprogressh = null let inprogressw = null let originalbutton = null let requestcount = 0 let lastinprogress function isCanvas(i) { return i instanceof HTMLCanvasElement; } function grabimg_and_resize(linkvar,w,h){ if(linkvar!==null &&linkvar!== undefined&&linkvar!== ""&&bigscreensankaku){ if (imagestore[linkvar+"myoriginal"]){ linkvar = imagestore[linkvar+"myoriginal"] } let linkvarsplit=null if(linkvar.search("sample")!==-1){ linkvarsplit=linkvar.split("-")[1].split(".")[0] } else if(linkvar.search("preview")!==-1){ linkvarsplit=linkvar.split("/")[7].split(".")[0] } else{ linkvarsplit=linkvar.split("/")[6].split(".")[0] } let originalfound=false for(let key in imagestore){ if(key.search("myexpire")==-1&&key.search("myoriginal")==-1&&key.search("preview")==-1){ let keysplit=null if(key.search("sample")!==-1){ keysplit=key.split("-")[1].split(".")[0] } else{ keysplit=key.split("/")[6].split(".")[0] } if(key.search("sample")==-1){ if(linkvarsplit==keysplit){ linkvar = key console.log("found previously saved original key | "+key) originalfound=true break } } } } if(linkvar.search("sample")==-1&&linkvar.search("preview")==-1){ originalfound=true } if(!originalfound){ for(let key in imagestore){ if(key.search("myexpire")==-1&&key.search("myoriginal")==-1&&key.search("preview")==-1){ let keysplit=null if(key.search("sample")!==-1){ keysplit=key.split("-")[1].split(".")[0] } else{ keysplit=key.split("/")[6].split(".")[0] } if(linkvarsplit==keysplit){ linkvar=key break } } } } } towindowsize=false if (bigscreensankaku||w<window.innerWidth && h<window.innerHeight && w==mainimg.naturalWidth || w<window.innerWidth && h<window.innerHeight && w>window.innerWidth-30 || w<window.innerWidth && h<window.innerHeight && h>window.innerHeight-30||bigscreensankaku){ if (window.innerWidth/w<window.innerHeight/h){ h=Math.round(h*window.innerWidth/w) w=window.innerWidth } else{ w=Math.round(w*window.innerHeight/h) h=window.innerHeight } towindowsize = true } if(linkvar!==null &&linkvar!== undefined&&linkvar!== ""&&linkvar.split("?")[0]==inprogress.split("?")[0]&&inprogressh==h&&inprogressw==w){ } else if (linkvar==currentpic&&inprogressh==h&&inprogressw==w){ if(document.getElementById('mydiv')==null){ mydiv=document.createElement('div') mydiv.width="100%" mydiv.height="100%" } else{ mydiv = document.getElementById('mydiv') if(document.getElementById('upscaledimgcanvas2')){ w=document.getElementById('upscaledimgcanvas2').width h=document.getElementById('upscaledimgcanvas2').height } } mydiv.style.top=Math.round(getScrollTop()+window.innerHeight/2-h/2)+"px"; if(bigscreensankaku&&w>=window.innerWidth-280){ mydiv.style.left=Math.round((window.innerWidth-280)/2-w/2+280-(w-(window.innerWidth-280))/2)+"px"; } else if(bigscreensankaku){ mydiv.style.left=Math.round((window.innerWidth-280)/2-w/2+280)+"px"; } else{ mydiv.style.left=Math.round(window.innerWidth/2-w/2)+"px"; } mydiv.id="mydiv" if(document.getElementById('mydiv') !== null){ if(setlast==2){ document.getElementById('mydiv').setAttribute("style","display: block;visibility: visible;z-index: 2147483647;box-sizing: content-box;position: absolute;pointer-events: none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") document.getElementById('mydiv').style.top=Math.floor(getScrollTop()+window.innerHeight/2-h/2)+"px"; } } if(document.getElementById('upscaledimgcanvas') !== null){ if(setlast==1){ document.getElementById('upscaledimgcanvas').setAttribute("style","z-index: 2147483647;display:block;position:absolute;visibility:visible;") } } } else{ if(linkvar!==null &&linkvar!== undefined&&linkvar!== ""){ if(linkvar.search(".mp4")==-1&&linkvar.search(".webm")==-1&&linkvar.search(".flv")==-1){ if(inprogress.split("?")[0]!== linkvar.split("?")[0]){ cancelactiveresizes(); if(linkvar.search("sankakucomplex.com")!==-1){ let linkvarsplit if(linkvar.search("sample")!==-1){ linkvarsplit=linkvar.split("-")[1].split(".")[0] } else if(linkvar.search("preview")!==-1){ linkvarsplit=linkvar.split("/")[7].split(".")[0] } else{ linkvarsplit=linkvar.split("/")[6].split(".")[0] } let lastinprogresssplit if(lastinprogress&&lastinprogress!=="null?"){ if(lastinprogress.search("sample")!==-1){ lastinprogresssplit=lastinprogress.split("-")[1].split(".")[0] } else if(lastinprogress.search("preview")!==-1){ lastinprogresssplit=lastinprogress.split("/")[7].split(".")[0] } else{ lastinprogresssplit=lastinprogress.split("/")[6].split(".")[0] } } } if(towindowsize){ let tempimage = document.createElement('img'); tempimage.setAttribute("src", linkvar); tempimage.width = Math.round(w) tempimage.height = Math.round(h) tempimage.style.zIndex = 2147483648 tempimage.style.visibility = "visible"; tempimage.style.position="absolute"; tempimage.style.pointerEvents="none"; tempimage.style["box-shadow"]="0 0 100px black"; if(document.getElementById('mydiv')==null){ mydiv=document.createElement('div') mydiv.width="100%" mydiv.height="100%" } else{ mydiv = document.getElementById('mydiv') } mydiv.style.top=Math.round(getScrollTop()+window.innerHeight/2-h/2)+"px"; if(bigscreensankaku&&w>=window.innerWidth-280){ mydiv.style.left=Math.round((window.innerWidth-280)/2-w/2+280-(w-(window.innerWidth-280))/2)+"px"; } else if(bigscreensankaku){ mydiv.style.left=Math.round((window.innerWidth-280)/2-w/2+280)+"px"; } else{ mydiv.style.left=Math.round(window.innerWidth/2-w/2)+"px"; } mydiv.id="mydiv" mydiv.style.boxSizing="content-box" mydiv.style.zIndex = 2147483648 mydiv.style.visibility = "visible"; mydiv.style.position="absolute"; mydiv.style.pointerEvents="none"; mydiv.style.display = "block" if(document.getElementById('mydiv')==null){ document.body.parentNode.insertBefore(mydiv,null); } if(document.getElementById('upscaledimgcanvas2') !== null){ mydiv.replaceChild(tempimage,document.getElementById('upscaledimgcanvas2')); } else{ mydiv.insertBefore(tempimage,null) } tempimage.id="upscaledimgcanvas2"; clearimagereadout() if(linkvar.search("sankakucomplex.com")!==-1){ imagereadout(getSankImageType(linkvar),w,linkvar) } } lastinprogress=linkvar inprogress = linkvar inprogressh=h inprogressw=w let spin =0 function spinselect(input){ if(input==1) return "-" if(input==2) return "\\" if(input==3) return "|" if(input==4) return "/" } function loadFailed(){ imagereadout("Failed to load image",w) } if(linkvar.search(".gif")==-1){ if (imagestore[linkvar]==null||imagestore[linkvar]==undefined){ requestcount+=1 let startsource = linkvar let starttime = Date.now() downloadstarttime = Date.now() setTimeout(function() { imgfirstload = true GM_xmlhttpRequest({ method: 'GET', url: startsource, responseType: 'blob', onload: function(resp) { let requesttime = Date.now()-downloadstarttime if (requesttime < 1000){ imagereadout("Image Request "+(requesttime)+"ms",w,linkvar,2) } else if (requesttime <10000){ imagereadout("Image Request "+(Math.round(requesttime/100)/10)+"s",w,linkvar,2) } else{ imagereadout("Image Request "+(Math.round(requesttime/1000))+"s",w,linkvar,2) } imagereadout("Scaling... ",w) starttime = Date.now() if (resp.response.type !== "image/gif"){ const img = new Image() img.onload = (event) => { URL.revokeObjectURL(event.target.src) imagestore[startsource] = document.createElement("canvas") imagestore[startsource].width = img.width imagestore[startsource].height = img.height let ctx = imagestore[startsource].getContext("2d") ctx.drawImage(event.target, 0, 0) imagestore[startsource+"myexpire"]=setTimeout(purgeimage,purgewaittime,startsource) if(mainimg!==null&&mainimg!==undefined){ if(startsource == mainimg.src && w!==imagestore[startsource].width) { resizenow(linkvar,w,h); } else inprogress="null?" } if(thingie!==null){ if(startsource==thingie.src&&bigscreensankaku) { resizenow(linkvar,w,h); } else inprogress="null?" } } img.src = URL.createObjectURL(resp.response) } }, onerror: loadFailed, onabort: loadFailed, onprogress: function(){ spin+=1 imagereadout("Requesting Image "+spinselect(spin)+" ",w,linkvar,2) if (spin>=4) spin=0 }, onloadstart: function(){ starttime = Date.now() imagereadout("Requesting Image / ",w,linkvar) } }); }, 0); } else { imagereadout("Scaling... ",w) resizenow(linkvar,w,h); } } else { imagereadout("HQ Gif Scaling Not Supported") inprogress="null?" } } } else{ cancelactiveresizes(); if(document.getElementById('mydiv') !== null){ if(document.getElementById('mydiv').style.display !== "none"){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } } if(document.getElementById('upscaledimgcanvas') !== null){ if(document.getElementById('upscaledimgcanvas').style.display !== "none" && document.getElementById('upscaledimgcanvas').style.display !== null){ document.getElementById('upscaledimgcanvas').setAttribute("style","display:none;top:"+document.getElementById('upscaledimgcanvas').style.top+";left:"+document.getElementById('upscaledimgcanvas').style.left+";") } } } } else{ cancelactiveresizes(); if(document.getElementById('mydiv') !== null){ if(document.getElementById('mydiv').style.display !== "none"){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } } if(document.getElementById('upscaledimgcanvas') !== null){ if(document.getElementById('upscaledimgcanvas').style.display !== "none" && document.getElementById('upscaledimgcanvas').style.display !== null){ document.getElementById('upscaledimgcanvas').setAttribute("style","display:none;top:"+document.getElementById('upscaledimgcanvas').style.top+";left:"+document.getElementById('upscaledimgcanvas').style.left+";") } } } } } const resize_ob = new ResizeObserver(function(entries) { if(bigscreensankaku==false){ cancelactiveresizes(); let rect = entries[0].contentRect; let w = rect.width; let h = rect.height; if(document.getElementById('upscaledimgcanvas') !== null){ document.getElementById('upscaledimgcanvas').setAttribute("style","display:none;top:"+document.getElementById('upscaledimgcanvas').style.top+";left:"+document.getElementById('upscaledimgcanvas').style.left+";") } if(document.getElementById('upscaledimgcanvas2') !== null){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } if (h !== 0){ if(mainimg == null){ function checkforimg(input){ for (let elem of input){ if (elem.nodeName.toLowerCase() == "img") { return elem; } } return "wtf didn't find img" } mainimg = checkforimg(Array.from(maindiv.children)) mainimg.style.position="relative"; mainimg.style.zIndex=2147483646 } grabimg_and_resize(mainimg.src,w,h) } } }); let divchecking = setInterval(checkfordiv,300) function getScrollTop() { if (typeof window.pageYOffset !== "undefined" ) { return window.pageYOffset; } let d = document.documentElement; if (typeof d.clientHeight !== "undefined") { return d.scrollTop; } return document.body.scrollTop; } let lastthingietop = null let setlast = 0 let thingietop = null let inprogress = "null?" const sankobservob = new MutationObserver(function(mutationsList, observer){ if (bigscreensankaku){ for (let elem of document.getElementsByClassName("swiper-slide swiper-slide-active")){ if (elem.className.endsWith("active")){ thingietop = elem thingie = elem.firstChild.firstChild.firstChild.firstChild if(thingie!==null&&thingie!==undefined){ sankobservob.disconnect() sankobservob.observe(thingietop, {attributes: true}); psankobservob.disconnect() psankobservob.observe(thingie, {attributes: true, attributeOldValue: true}); grabimg_and_resize(thingie.src,thingie.naturalWidth,thingie.naturalHeight) break } } } lastthingietop = thingietop } }) const psankobservob = new MutationObserver(function(mutationsList, observer){ for(const mutation of mutationsList) { if (mutation.type=='attributes'&&mutation.attributeName=="src"&&bigscreensankaku&&thingietop.firstChild.firstChild.firstChild.firstChild==thingie){ if(mutation.oldValue!==null&&mutation.oldValue!==undefined){ if (mutation.oldValue.search("sample")!==-1||mutation.oldValue.search("preview")!==-1){ if(thingie.src.search("sample")==-1&&thingie.src.search("preview")==-1){ imagestore[mutation.oldValue+"myoriginal"] = thingie.src } } } grabimg_and_resize(thingie.src,thingie.naturalWidth,thingie.naturalHeight) } } }) const buttonob = new MutationObserver(function(){ originalbutton.click(); }) document.addEventListener('keydown', function (zEvent) { if (zEvent.key == "m"){ if(document.getElementById('mydiv') !== null){ if(document.getElementById('mydiv').style.display !== "none"){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") setlast = 2 } else if(setlast==2){ document.getElementById('mydiv').setAttribute("style","display: block;visibility: visible;z-index: 2147483647;box-sizing: content-box;position: absolute;pointer-events: none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } } if(document.getElementById('upscaledimgcanvas') !== null){ if(document.getElementById('upscaledimgcanvas').style.display !== "none" && document.getElementById('upscaledimgcanvas').style.display !== null){ document.getElementById('upscaledimgcanvas').setAttribute("style","display:none;top:"+document.getElementById('upscaledimgcanvas').style.top+";left:"+document.getElementById('upscaledimgcanvas').style.left+";") setlast = 1 } else if(setlast==1){ document.getElementById('upscaledimgcanvas').setAttribute("style","z-index: 2147483647;display:block;position:absolute;visibility:visible;") } } } else if (zEvent.key == "n"){ bigscreensankaku = !bigscreensankaku if (bigscreensankaku){ for (let elem of document.getElementsByClassName("swiper-slide swiper-slide-active")){ if (elem.className.endsWith("active")){ thingietop = elem thingie = elem.firstChild.firstChild.firstChild.firstChild if(thingie!==null&&thingie!==undefined){ sankobservob.disconnect() sankobservob.observe(thingietop, {attributes: true}); psankobservob.disconnect() psankobservob.observe(thingie, {attributes: true, attributeOldValue: true}); grabimg_and_resize(thingie.src) break } } } } else{ psankobservob.disconnect() sankobservob.disconnect() } if(document.getElementById('mydiv') !== null){ if(document.getElementById('mydiv').style.display !== "none"){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } } } else if(zEvent.key == "0"){ imagereadout("Waiting for server",null,inprogress!=="null?"?inprogress:currentpic) let originalsearch = document.getElementsByName("post_mode") if(originalsearch){ for (let i = 0; i < originalsearch.length; i++) { if(originalsearch[i].getAttribute("value") == "original"){ if(window.getComputedStyle(originalsearch[i]).getPropertyValue('color') !== "rgb(255, 140, 0)") { originalsearch[i].click(); originalbutton = originalsearch[i] let textsearch =document.getElementsByClassName('MuiTypography-root') } } } } } }); let leftareasize = 20 document.addEventListener('click', function (e) { if (e.button==0&&e.mozInputSource==1&&e.pageX <=leftareasize&&window.location.href.includes("/post/")){ let listofel = document.getElementsByClassName("MuiButtonBase-root MuiFab-root") if(listofel){ for (let i = 0; i < listofel.length; i++) { if(listofel[i].getAttribute("aria-label") == "Prev"){ listofel[i].click(); break } } } } }); document.addEventListener('mousemove', e => { if(window.location.href.includes("https://beta.sankakucomplex.com")){ if (e.pageX <=leftareasize&&!bigscreensankaku&&window.location.href.includes("/post/")){ bigscreensankaku = !bigscreensankaku if (bigscreensankaku){ for (let elem of document.getElementsByClassName("swiper-slide swiper-slide-active")){ if (elem.className.endsWith("active")){ thingietop = elem thingie = elem.firstChild.firstChild.firstChild.firstChild if(thingie!==null&&thingie!==undefined){ sankobservob.disconnect() sankobservob.observe(thingietop, {attributes: true}); psankobservob.disconnect() psankobservob.observe(thingie, {attributes: true, attributeOldValue: true}); grabimg_and_resize(thingie.src,thingie.naturalWidth,thingie.naturalHeight) } } } } } else if(e.pageX >leftareasize&&bigscreensankaku){ bigscreensankaku = !bigscreensankaku cancelactiveresizes(); psankobservob.disconnect() sankobservob.disconnect() if(document.getElementById('mydiv') !== null){ if(document.getElementById('mydiv').style.display !== "none"){ document.getElementById('mydiv').setAttribute("style","display:none;top:"+document.getElementById('mydiv').style.top+";left:"+document.getElementById('mydiv').style.left+";") } } } } }); })();