Greasy Fork is available in English.

pixiv helper

A small script to download the new png animated image in pixiv

2014/06/26時点のページです。最新版はこちら。

このスクリプトの質問や評価の投稿はこちら通報はこちらへお寄せください。
// ==UserScript==
// @name        pixiv helper
// @namespace   http://mfish.twbbs.org/
// @include     http://www.pixiv.net/member_illust.php?mode=medium&illust_id=*
// @version     0.1
// @description A small script to download the new png animated image in pixiv
// @grant       GM_registerMenuCommand
// @grant       GM_openInTab
// ==/UserScript==

var global = unsafeWindow;
GM_registerMenuCommand( '下載檔案!', downloadSmall);
GM_registerMenuCommand( '下載檔案!(大圖)', downloadFullScreen);

function checkUp() {
    if (!global.pixiv.context.ugokuIllustData) {
        alert('這看起來只是一般的gif或靜圖歐,請直接右鍵下載!');
        throw new Error('can not found zipped image source');
    }
}

function downloadSmall() {
    checkUp()
    var context = global.pixiv.context;
    var illustrate = context.ugokuIllustData;
    var src = illustrate.src;
    download(src);
}

function downloadFullScreen() {
    checkUp()
    var context = global.pixiv.context;
    var illustrate = context.ugokuIllustFullscreenData;
    var src = illustrate.src;
    download(src);
}

function download(src) {
    //console.log(src);
    var oReq = new XMLHttpRequest();
    oReq.open("GET", src, true);
    oReq.responseType = "blob";

    oReq.onload = function (oEvent) {
        var blob, objectURL;
        blob = oReq.response; // Note: not oReq.responseText
        if (blob) {
            //alert('success');
            //console.log(blob);
            objectURL = URL.createObjectURL(blob);
            //console.log(objectURL);
            //window.open(objectURL);
            GM_openInTab(objectURL);
        }
    };
    oReq.send(null);
}