Greasy Fork is available in English.

pixivの漫画を自動で展開

pixivのマンガ作品の閲覧画面で、[すべて見る]を自動でクリックします。

// ==UserScript==
// @name         pixivの漫画を自動で展開
// @namespace    https://armedpatriot.blog.fc2.com/
// @version      1.0.0
// @description  pixivのマンガ作品の閲覧画面で、[すべて見る]を自動でクリックします。
// @author       Patriot
// @match        https://www.pixiv.net/member*
// @grant        none
// @run-at       document-idle
// ==/UserScript==

(function() {
    'use strict';
    const selector=`[style="transform: translateY(0%);"] section + button`;

    let intervalID=setInterval(
        ()=>{
            let expandButtonElement=document.querySelector(selector);
            console.log("a");
            if(expandButtonElement){
                expandButtonElement.click();
            }
        },
        500
    );

//     new Promise((resolve, reject)=>{
//         let isTimeOver=false;
//         let timeoutID=setTimeout(
//             ()=>{
//                 isTimeOver=true;
//             },
//             maxTimeToWait
//         );
//         let intervalID=setInterval(
//             ()=>{
//                 let garalley=document.querySelector(selector);
//                 if(garalley){
//                     clearInterval(intervalID);
//                     expandButtonElement.click();
//                     resolve();
//                 }else if(isTimeOver){
//                     clearInterval(intervalID);
//                     reject();
//                 }
//             },
//             200
//         );
//     }).then(
//         ()=>{
//             let isTimeOver=false;
//             let timeoutID=setTimeout(
//                 ()=>{
//                     isTimeOver=true;
//                 },
//                 maxTimeToWait
//             );
//             let intervalID=setInterval(
//                 ()=>{
//                     let expandButtonElement=document.querySelector(selector);
//                     if(!expandButtonElement){
//                         clearInterval(intervalID);
//                         return;
//                     }
//                     expandButtonElement.click();
//                 },
//                 200
//             );
//         },
//         ()=>{
//         }
//     );
})();