您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
remove broken thumb-code within your custom-boxes on deviantart.
// ==UserScript== // @name dev_broken_thumbs // @namespace dev_broken_thumbs // @version 1.01 // @description remove broken thumb-code within your custom-boxes on deviantart. // @include http://*.deviantart.com/ // @include http://*.deviantart.com/journal/* // @author Dediggefedde // @grant GM_setValue // @grant GM_getValue // @grant GM_deleteValue // ==/UserScript== (function(){ var thumblist=new Array(); var corr_list=new Array(); var dellist=new Array(); var storlist=new Array(); var eingabenaktiv; var aktivbox; var uberset; var journal=false; var temp_thumblist=GM_getValue("thumblist"); var temp_corrlist=GM_getValue("corrlist"); function start(){ if(document.getElementById("journal-entry-form")!=null){ if(temp_thumblist!=null)temp_thumblist=JSON.parse(temp_thumblist); if(temp_corrlist!=null)temp_corrlist=JSON.parse(temp_corrlist); if(temp_thumblist.length==0)return; thumblist=temp_thumblist; corr_list=temp_corrlist; GM_deleteValue("thumblist"); GM_deleteValue("corrlist"); journal=true; showbox(); }else if(location.href.indexOf("/journal/")!=-1){ //remove thumbs in journal: addition to script journal=true; var editbut=document.getElementsByClassName("edit-button"); if(editbut.length==0)return; editbut[0].setAttribute("onclick","return false"); editbut[0].addEventListener("click",analyse); }else{ var customcont = document.getElementsByClassName("gr-box"); var customedit; for(var i=0;i<customcont.length;i++){ customedit=customcont[i].parentNode.getElementsByClassName("gmbutton2chaos")[0]; if(typeof customedit =="undefined"||customedit.getAttribute("dev_broken_thumbs"))continue; customedit.setAttribute("dev_broken_thumbs","true"); customedit.addEventListener("click",analyse); } } } function analyse(){ var rex=/(:thumb\d+:)|(class="instorage)|(a class="thumb)/g; corr_list=new Array(); if(!journal){ aktivbox=this.parentNode.parentNode.parentNode; if(aktivbox.getElementsByClassName("grf-mirror").length>0) thumblist=aktivbox.getElementsByClassName("grf-mirror")[0].innerHTML.match(rex); else if(document.getElementById("aboutme-info") != null) thumblist=document.getElementById("aboutme-info").innerHTML.match(rex); else return; }else{ // if(document.getElementsByClassName("journaltext").length==0){setTimeout(analyse,1000);return;} thumblist=document.getElementsByClassName("journaltext")[0].innerHTML.match(rex); } if(!thumblist)return; for(var i=0;i<thumblist.length;i++){ switch(thumblist[i]){ case "class=\"instorage":corr_list.push(new Array(i,0));break; case "a class=\"thumb":break; default: corr_list.push(new Array(i,1));break; } } if(!journal){ detektbutton(); eingabenaktiv=setInterval(detektbutton,1000); }else{ // showbox(); //page change when journal-edit is clicked. solution: temporary store thumblist and corr_list and use showbox on load when there is stored data GM_setValue("thumblist",JSON.stringify(thumblist)); GM_setValue("corrlist",JSON.stringify(corr_list)); location.href=this.getAttribute("href"); } } function detektbutton(){ if(document.getElementsByClassName("blockmenu").length==0){clearInterval(eingabenaktiv);return;} document.getElementsByClassName("blockmenu")[0].getElementsByClassName("edit_link")[0].addEventListener("click",showbox); } function showbox(){ if(corr_list.length==0)return; if(!journal){ if(typeof aktivbox.getElementsByTagName("textarea")[0]=="undefined"){setTimeout(showbox,1000);return;} uberset=aktivbox.getElementsByTagName("textarea")[0].innerHTML.match(/(:thumb\d+:)|(class="instorage)/g); }else{ if(document.getElementById("journal-entry-form")==null||document.getElementById("journal-entry-form").getElementsByClassName("writer").length==0){setTimeout(showbox,1000);return;} uberset=document.getElementById("journal-entry-form").getElementsByClassName("writer")[0].innerHTML.match(/(:thumb\d+:)|(class="instorage)/g); } dellist=new Array(); storlist=new Array(); for(var i=0;i<corr_list.length;i++){ if(corr_list[i][1]==0)storlist.push(uberset[corr_list[i][0]]); else dellist.push(uberset[corr_list[i][0]]);; } var nbox=document.createElement("div"); nbox.id="dev_broken_thumb_alert"; nbox.setAttribute("class","loading modal modal-rounded"); nbox.setAttribute("style","display:block;z-index:999999;top: 60%; left: 60%; width: 400px; height: 400px; margin-left: -339px; margin-top: -298px; position: fixed; box-shadow: rgba(0, 0, 0, 0.496094) 0px 1px 4px, rgb(255, 255, 255) 0px 1px 1px inset; "); nbox.innerHTML="<a href='' onclick='document.body.removeChild(document.getElementById(\"dev_broken_thumb_alert\"));return false;' class='x'></a>"+ "<div class='fakedeepee-box'>"+ "<div class='deepee-title'><strong>Corrupted thumbnails detected!</strong></div>"+ "<span style='font-weight:bold;'><input type='checkbox' checked='checked' name='rem_del_thumb' id='rem_del_thumb'/><label for='rem_del_thumb'>Remove "+dellist.length+" deleted thumbs</label><br/>"+ "<ul style='height: 100px;overflow-y:scroll;'><li>"+dellist.join("</li><li>")+"</li></ul><br/>"+ "<span style='font-weight:bold;'><input type='checkbox' checked='checked' name='rem_stor_thumb' id='rem_stor_thumb'/><label for='rem_stor_thumb'>Remove "+storlist.length+" thumbs in storage</label><br/>"+ "<ul style='height: 100px;overflow-y:scroll;'><li>"+storlist.join("</li><li>")+"</li></ul><br/>"+ "<div style='margin:0px auto;text-align:center;'>"+ "<a href='' onclick='return false;' class='gmbutton2 gmbutton2s' style='margin-right:10px;width:100px;display:inline-block' id='dev_broken_thumb_execute'>Remove<b></b></a>"+ "<a href='' onclick='document.body.removeChild(document.getElementById(\"dev_broken_thumb_alert\"));return false;' class='gmbutton2 gmbutton2c' style='width:100px;display:inline-block' id='dev_broken_thumb_execute'>Cancel<b></b></a>"+ "</div>"+ "</div>"; document.body.appendChild(nbox); document.getElementById("dev_broken_thumb_execute").addEventListener("click",remover); } function remover(){ var remstor=(document.getElementById("rem_stor_thumb").checked); var remdel=(document.getElementById("rem_del_thumb").checked); var tex; if(!journal)tex=aktivbox.getElementsByTagName("textarea")[0].innerHTML; else tex=document.getElementById("journal-entry-form").getElementsByClassName("writer")[0].innerHTML; for(var i=corr_list.length-1; i>=0;i--){ if((corr_list[i][1]==0&&remstor)||(corr_list[i][1]==1&&remdel)){tex=tex.replace(uberset[corr_list[i][0]],"");} } if(!journal)aktivbox.getElementsByTagName("textarea")[0].innerHTML=tex; else document.getElementById("journal-entry-form").getElementsByClassName("writer")[0].innerHTML=tex; document.body.removeChild(document.getElementById("dev_broken_thumb_alert")); } window.onload=start; // setInterval(start,1000); })();
QingJ © 2025
镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址