On page with thumbnails of all works makes thumbnails link to actual fullsize images
当前为
// ==UserScript==
// @name pixiv direct original image link
// @namespace pixiv
// @version 1.5
// @description On page with thumbnails of all works makes thumbnails link to actual fullsize images
// @homepage http://userscripts.org/scripts/show/135707
// @match http://www.pixiv.net/member_illust.php*id*
// @match http://*.pixiv.net/img*
// @run_at document_end
// @run-at document-end
// @grant none
// ==/UserScript==
if(document.location.hostname != "www.pixiv.net") // manga fix
{
if(document.referrer.indexOf("http://www.pixiv.net/member_illust.php?id=") == 0 && document.body.innerHTML.indexOf("This Page is Not Found") == 4)
{
var newpage = document.location.href.substr(document.location.href.lastIndexOf("/")+1);
newpage = newpage.substring(0, newpage.indexOf('.'));
document.location.replace("http://www.pixiv.net/member_illust.php?mode=manga&illust_id=" + newpage);
}
return false;
}
var allImgs, thisImgDiv, src, txt, elmNewContent, profIMG, mangafix = false;
profIMG = document.body.querySelector("img.user-image").src;
if(profIMG.indexOf("http://source.pixiv.net") == -1)
{
profIMG = profIMG.substring(0, profIMG.lastIndexOf('/')) + "/";
profIMG = profIMG.replace('profile', 'img');
}
else // no avatar, use BG
{
var fn;
var f = document.getElementsByTagName("style");
for(c=0;c<f.length;c++)
{
fn = f[c].innerHTML.indexOf('url(');
if(fn != -1)
{
profIMG = f[c].innerHTML.substr(fn+5, f[c].innerHTML.indexOf(')', fn+6)-fn-6);
profIMG = profIMG.replace('/profile/', '/img/');
profIMG = profIMG.substring(0, profIMG.lastIndexOf('/')+1);
break;
}
}
}
allImgs = document.body.querySelectorAll("img._thumbnail");
for (var i = 0; i < allImgs.length; i++)
{
var thisImgDiv = allImgs[i].parentNode;
var number = allImgs[i].src.substr(allImgs[i].src.lastIndexOf("/")+1);
number = number.replace('_s', '');
var src = profIMG + number;
var link = thisImgDiv.parentNode.href;
thisImgDiv.parentNode.href = src;
thisImgDiv.parentNode.target = "_blank";
var txt = thisImgDiv.nextSibling.textContent;
thisImgDiv.nextSibling.textContent = "";
var elmNewContent = document.createElement('a');
elmNewContent.textContent = txt;
elmNewContent.href = link;
elmNewContent.target = "_blank";
thisImgDiv.parentNode.parentNode.appendChild(elmNewContent);
}