您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Add an orignal link under the image.
// ==UserScript== // @name sankaku_image_link // @namespace https://gist.github.com/E-Badapple // @version 1.0 // @description Add an orignal link under the image. // @author E-Badapple(BattleCat) // @match https://chan.sankakucomplex.com/* // @match https://idol.sankakucomplex.com/* // @grant none // ==/UserScript== //监听函数 function mutationEvent() { MutationObserver = window.MutationObserver || window.WebKitMutationObserver; var obs = new MutationObserver(function(mutations, observer) { for (var i = 0; i < mutations.length; ++i) { for (var j = 0; j < mutations[i].addedNodes.length; ++j) { if (mutations[i].addedNodes[j].getAttribute('class') === "content-page") { getPage(mutations[i].addedNodes[j].getAttribute('id')); } } } }); obs.observe((document.querySelector('#post-list > div.content')), { childList: true }); } //获取图片位置 function getPage(id){ var toop; if (id !== null) { toop = document.querySelectorAll('.content > div[id="' + id + '"] > span'); } else { toop = document.querySelectorAll('.content > div > span'); } for(var i = 0 ; i < toop.length ; i++){ var idUrl = "/ja/post/show/" + toop[i].getAttribute('id').split('p')[1]; getURL(idUrl, toop[i].getAttribute('id')); } } //获取大图网址 function getURL(idUrl,id){ //var xmlhttp = new XMLHttpRequest(); var x; var url; var imageURL; var toop = document.getElementById(id); imageURL = toop.getElementsByClassName('preview')[0].getAttribute('src').match(/preview(.*?)\.jpg/)[1]; if( window.location.host.indexOf('chan\.sankakucomplex') > -1 ) url = 'https:\/\/cs\.sankakucomplex\.com\/data' + imageURL; else url = 'https:\/\/is\.sankakucomplex\.com\/data' + imageURL; AddImagelink(url,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("highres") > -1 ) { url = "https://"+xmlhttp.responseText.match(/href=\"\/\/(.*?)\ (.*?)highres/)[1]; //} // else { // url = "https://"+xmlhttp.responseText.match(/href=\"\/\/(.*?)\ (.*?)lowres/)[1]; // } AddImagelink(url,id); } else if( xmlhttp.status==429 ){ getURL(idUrl,id); } }; xmlhttp.open("GET",idUrl,true); xmlhttp.send(); */ /* xmlhttp.open("GET",idUrl,true); xmlhttp.onload = function(){ if( xmlhttp.responseText.indexOf("highres") > -1 ) { url = "https://"+xmlhttp.responseText.match(/href=\"\/\/(.*?)\ (.*?)highres/)[1]; //url = xmlhttp.responseText.split("\" id=\"highres\"")[0]; //alert(xmlhttp.responseText); } else { //url = xmlhttp.responseText.match(/<a href=(.*?)(.*?)(.*?) id=(.?*)lowres/)[1]; } AddImagelink(url,id); }; xmlhttp.send(); */ } //创建link function AddImagelink(url,id){ var toop = document.getElementById(id); var p = document.createElement('p'); var p2 = document.createElement('p'); var ulJPG = document.createElement('ul'); var ulPNG = document.createElement('ul'); var urlJPG = url + '\.jpg'; var urlPNG = url + '\.png'; var imagelinkJPG = document.createElement('a'); var imagelinkPNG = document.createElement('a'); imagelinkJPG.setAttribute('href',urlJPG); imagelinkJPG.setAttribute('style','color: #0069b1; background-color:#cceeff; border-radius: 5px; padding: 0 6px;'); imagelinkJPG.innerHTML = 'Original-link-jpg</br>'; imagelinkPNG.setAttribute('href',urlPNG); imagelinkPNG.setAttribute('style','color: #0069b1; background-color:#cceeff; border-radius: 5px; padding: 0 6px;'); imagelinkPNG.innerHTML = 'Original-link-png'; p.setAttribute('style','margin: 5px 0'); p.appendChild(imagelinkJPG); p2.appendChild(imagelinkPNG); if(!toop.getElementsByTagName('p')[0]){ toop.appendChild(p); toop.appendChild(p2); toop.setAttribute('style','height:auto'); } } //打开网页函数 function firstStart(){ var toop = document.getElementsByClassName('content')[0].getElementsByClassName('thumb'); for(var i = 0 ; i < toop.length ; i++){ var idUrl = "/ja/post/show/" + toop[i].getAttribute('id').split('p')[1]; getURL(idUrl, toop[i].getAttribute('id')); } } firstStart(); mutationEvent();