Pixiv Display Original Images

Display original images straight from the illustration page. No need to open the "manga" page.

目前為 2017-12-30 提交的版本,檢視 最新版本

// ==UserScript==
// @name         Pixiv Display Original Images
// @namespace    superschwul
// @version      0.1
// @description  Display original images straight from the illustration page. No need to open the "manga" page.
// @author       Superschwul
// @match        https://www.pixiv.net/stacc*
// @match        https://www.pixiv.net/member_illust.php?mode=medium*
// @grant        GM_xmlhttpRequest
// ==/UserScript==

function addLinkToWorksPageAtStaccPage() {
    var usernames = document.getElementsByClassName('stacc_ref_illust_user_name');
    for(i=0; i < usernames.length; i++) {
        usernames[i].style.display = 'block';
        var a = document.createElement('a');
        var linkText = document.createTextNode("Go to Works page");
        var userUrl = usernames[i].getElementsByTagName('a')[0].href;
        a.appendChild(linkText);
        a.href = userUrl.replace('member', 'member_illust');
        a.target = '_blank';
        usernames[i].appendChild(a);
        a.style.display = 'block';
    }
}

function displayGalleryAtIllustrationPage() {
    // override css
    var style = document.createElement('style');
    style.type = 'text/css';
    style.innerHTML = `
        body {
            background: #e4e7ee !important;
        }
        #wrapper {
            /* force recommendation box to fit available width */
            margin: 10px 0 0 calc((100vw - 970px - 182px) / 2) !important;
        }
        #pil_gallery {
            padding: 3em;
            font-size: 130%;
            text-align: center;
        }
        #pil_gallery img {
            display: block;
            margin: 0 auto 3em auto;
            max-width: 100%;
            height: auto;
            background: #dcdbdb;
        }
    `;
    document.getElementsByTagName('head')[0].appendChild(style);
    //is it a single image or multiple images (manga)?
    var type = 'single';
    var thumb = document.getElementsByClassName('works_display')[0].children[0];
    if(thumb.tagName == 'A') {
        type = 'multiple';
    }
    //get original images and fill gallery
    if(type == 'single') {
        getSingleOriginalImage();
    } else {
        getMultipleOriginalImages();
    }
}

function getSingleOriginalImage() {
    var modal = document.getElementsByClassName('_illust_modal')[0].children[0];
    var images = modal.getElementsByTagName('img');
    images[0].src = images[0].dataset.src;
    fillGallery(images);
}

function getMultipleOriginalImages() {
    var url = window.location.href.replace('medium', 'manga');
    GM_xmlhttpRequest ({
        method: 'GET',
        url: url,
        onload: function(responseObj) {
            var images = [];
            var parser = new DOMParser();
            var responseDoc = parser.parseFromString(responseObj.responseText, "text/html");
            var imageContainers = responseDoc.getElementsByClassName('item-container');
            for(i=0; i < imageContainers.length; i++) {
                var image = imageContainers[i].getElementsByTagName('img')[0];
                image.src = image.dataset.src;
                images.push(image);
            }
            fillGallery(images);
        }
    });
}

function fillGallery(images) {
    var gallery = document.createElement('div');
    gallery.id = 'pil_gallery';
    for(i=0; i < images.length; i++) {
        var p = document.createElement('p');
        i++;
        var pText = document.createTextNode('Image ' + i + ' of ' + images.length);
        i--;
        p.appendChild(pText);
        gallery.appendChild(p);
        gallery.appendChild(images[i]);
    }
    var header = document.getElementsByClassName('_global-header')[0];
    header.parentNode.insertBefore(gallery, header.nextSibling);
}


(function() {
    'use strict';
    // run on stacc page
    if(window.location.href.includes('stacc')) {
        addLinkToWorksPageAtStaccPage();
    }
    // run on illustration page
    if(window.location.href.includes('medium')) {
        displayGalleryAtIllustrationPage();
    }
})();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址