您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add a button under the image to OneClick Bookmark.
当前为
// ==UserScript== // @name Pixiv One-Click Bookmark // @namespace https://gist.github.com/E-Badapple // @description Add a button under the image to OneClick Bookmark. // @match www.pixiv.net/search.php* // @match www.pixiv.net/bookmark.php* // @match www.pixiv.net/member_illust.php?id=* // @match www.pixiv.net/ranking.php* // @match www.pixiv.net/*bookmark_new_illust.php* // @version 1.0.4 // @grant none // ==/UserScript== function sleep(d){ for(var t = Date.now();Date.now() - t <= d;); } var SS = 8; var S = new Array(); for(var i = 0 ; i < SS ; i++ ){ S[i] = 0; } var alwaysPrivate = false; var iii=1; var listener = function(e){ e.preventDefault(); e.target.textContent = "Adding..."; // e.target.textContent = e.target.getAttribute("href").split("=")[1]; var id1 = "bookmark_add.php?type=illust&illust_id="+e.target.getAttribute("href").split("=")[1]; var get = new XMLHttpRequest(); get.open("GET", id1, true); get.onload = function(){ var id = get.responseText.match(/<input type="hidden" name="id" value="(.*?)">/)[1]; var tt = get.responseText.match(/<input type="hidden" name="tt" value="(.*?)">/)[1]; var tagData = get.responseText.match(/<span class="tag c6.*?" data-tag=".*?">/g); var tags = (tagData !== null) ? tagData.map(function(x){return x.match(/data-tag="(.*?)">/)[1];}) : []; var restrict = (alwaysPrivate || (tags.indexOf("R-18") !== -1)) ? "1" : "0"; var post = new XMLHttpRequest(); post.open("POST", "http://www.pixiv.net/bookmark_add.php", true); post.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); post.onload = function(){ //e.target.textContent = "Complete"; e.target.style = "background-color:#9e9a93"; e.target.innerHTML = "BookMarking"; e.target.removeEventListener("click", listener, false); }; post.send("type=illust&id=" + id + "&tt=" + tt + "&restrict=" + restrict + "&comment=&mode=add&from_sid=&submit=&tag=" + tags.join(" ")); }; get.send(); }; /* var listener2 = function(e){ e.preventDefault(); //e.target.firstChild.textContent = "Adding..."; e.target.innerHTML = "Adding..."; e.target.setAttribute("class",""); // e.target.textContent = e.target.getAttribute("href").split("=")[1]; var id1 = "bookmark_add.php?type=illust&illust_id="+e.target.getAttribute("href").split("=")[1]; var get = new XMLHttpRequest(); get.open("GET", id1, true); get.onload = function(){ var id = get.responseText.match(/<input type="hidden" name="id" value="(.*?)">/)[1]; var tt = get.responseText.match(/<input type="hidden" name="tt" value="(.*?)">/)[1]; var tagData = get.responseText.match(/<span class="tag c6.*?" data-tag=".*?">/g); var tags = (tagData !== null) ? tagData.map(function(x){return x.match(/data-tag="(.*?)">/)[1];}) : []; var restrict = (alwaysPrivate || (tags.indexOf("R-18") !== -1)) ? "1" : "0"; var post = new XMLHttpRequest(); post.open("POST", "http://www.pixiv.net/bookmark_add.php", true); post.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); post.onload = function(){ //e.target.innerHTML = "Complete"; e.target.parentNode.textContent = "Complete"; e.target.removeEventListener("click", listener, false); }; post.send("type=illust&id=" + id + "&tt=" + tt + "&restrict=" + restrict + "&comment=&mode=add&from_sid=&submit=&tag=" + tags.join(" ")); }; get.send(); }; */ var listener3 = function(e){ e.preventDefault(); e.target.textContent = "Adding..."; // e.target.textContent = e.target.getAttribute("href").split("=")[1]; var id1 = "bookmark_add.php?type=illust&illust_id="+e.target.getAttribute("href").split("id=")[1]; var get = new XMLHttpRequest(); get.open("GET", id1, true); get.onload = function(){ var id = get.responseText.match(/<input type="hidden" name="id" value="(.*?)">/)[1]; var tt = get.responseText.match(/<input type="hidden" name="tt" value="(.*?)">/)[1]; var tagData = get.responseText.match(/<span class="tag c6.*?" data-tag=".*?">/g); var tags = (tagData !== null) ? tagData.map(function(x){return x.match(/data-tag="(.*?)">/)[1];}) : []; var restrict = (alwaysPrivate || (tags.indexOf("R-18") !== -1)) ? "1" : "0"; var post = new XMLHttpRequest(); post.open("POST", "http://www.pixiv.net/bookmark_add.php", true); post.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); post.onload = function(){ e.target.textContent = "Complete"; e.target.removeEventListener("click", listener, false); }; post.send("type=illust&id=" + id + "&tt=" + tt + "&restrict=" + restrict + "&comment=&mode=add&from_sid=&submit=&tag=" + tags.join(" ")); }; get.send(); }; var CL2 = document.getElementsByClassName("bookmark-count").length; function GETClass2(){ if ( document.getElementsByClassName("bookmark-count").length != CL2 || S[2] === 0){ CL2 = document.getElementsByClassName("bookmark-count").length; var CLi = 0; while(CLi < CL2){ //var a = document.getElementsByClassName("_icon sprites-bookmark-badge")[CLi]; //var b = document.getElementsByClassName("_icon sprites-bookmark-badge")[CLi].parentNode.getAttribute("href"); //a.setAttribute("href",b); var b = document.getElementsByClassName("bookmark-count")[CLi].getAttribute("href"); if( document.getElementsByClassName("bookmark-count")[CLi].innerHTML == "Add BookMark" ) document.getElementsByClassName("bookmark-count")[CLi].addEventListener("click", listener, false); //document.getElementsByClassName("bookmark-count")[CLi].firstChild.addEventListener("click", listener2, false); CLi++; } if(S[2] === 0){ S[2]++; } } Cli = 0; } /* var CL4 = document.getElementsByClassName("meta-box page-count").length; function GETClass4(){ if ( document.getElementsByClassName("meta-box page-count").length != CL4 || S[4] === 0){ CL4 = document.getElementsByClassName("meta-box page-count").length; var CLi = 0; while(CLi < CL4){ document.getElementsByClassName("meta-box page-count")[CLi].addEventListener("click", listener3, false); CLi++; } if(S[4] === 0){ S[4]++; } } Cli = 0; } */ function addElementA(Class,id,MCLi,IfBookMark){ var id3 = "/bookmark_detail.php?illust_id="+id; var parent = document.getElementsByClassName(Class)[MCLi]; var b = document.createElement("ul"); parent.appendChild(b); var a = document.createElement("a"); a.setAttribute("class", "bookmark-count __ui-tooltip"); a.setAttribute("href",id3); if( IfBookMark === 0 ) a.innerHTML = "Add BookMark"; else{ a.innerHTML = "BookMarking"; a.setAttribute("style","background-color:#9e9a93"); } parent.appendChild(a); /* var d = document.getElementsByClassName("bookmark-count __ui-tooltip")[MCLi]; var c = document.createElement("li"); c.setAttribute("class","_icon sprites-bookmark-badge"); c.setAttribute("href",id3); d.appendChild(c); */ } var MCLa = document.getElementsByClassName("image-item").length; function AddClass(){ var MCLii = 0; var id2; if( MCLa != document.getElementsByClassName("image-item").length || S[0] ===0 ){ MCLa = document.getElementsByClassName("image-item").length; while( MCLii < MCLa ){ if( document.getElementsByClassName("bookmark-count __ui-tooltip")[MCLii] ) { } else{ id2 = document.getElementsByClassName("image-item")[MCLii].firstChild.getAttribute("href"); id2 = id2.split("=")[2]; var id3 = "/member_illust.php?mode=medium&illust_id=" + id2; CheckBookMark("image-item",id2,MCLii); } MCLii++; } } if(S[0] === 0){ S[0]++; } } var MCLa2 = document.getElementsByClassName("ranking-item").length - 1 ; function AddClass2(){ var MCLii = 0; var id2; if( MCLa2 != document.getElementsByClassName("ranking-item").length - 1 || S[1] ===0 ){ MCLa2 = document.getElementsByClassName("ranking-item").length - 1; while( MCLii < MCLa2 ){ if( document.getElementsByClassName("bookmark-count __ui-tooltip")[MCLii] ) { } else{ id2 = document.getElementsByClassName("ranking-item")[MCLii].getElementsByClassName("ranking-image-item")[0].getAttribute("id"); id2 = id2.split("i")[1]; //var id3 = "/member_illust.php?mode=medium&illust_id="+id2; CheckBookMark("ranking-item",id2,MCLii); //addElementA("ranking-item",id2,MCLii); } MCLii++; } } if(S[1] === 0){ S[1]++; } } function CheckBookMark(Class,id,MCLi) { var xmlhttp; var x; var idUrl = "/member_illust.php?mode=medium&illust_id=" + id; if (window.XMLHttpRequest) {// code for IE7+, Firefox, Chrome, Opera, Safari xmlhttp=new XMLHttpRequest(); } else {// code for IE6, IE5 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } xmlhttp.onreadystatechange=function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) { x=xmlhttp.responseText; if( x.indexOf("add-bookmark") > -1 ) addElementA(Class,id,MCLi,0); else addElementA(Class,id,MCLi,1); } }; xmlhttp.open("GET",idUrl,true); xmlhttp.send(); } //if(window.location.pathname == "member_illust.php") var t5 = window.setInterval(AddClass,1000); var t6 = window.setInterval(AddClass2,1000); var t1 = window.setInterval(GETClass2,1000); //var t4 = window.setInterval(GETClass4,1000);