Greasy Fork is available in English.

pixivの作品一覧をトリミングせずに表示

pixivのプロフィール画面(ユーザーのイラストやマンガが一覧表示される画面)と、作品画面の下に表示される作者の作品一覧内の作品が、正方形にトリミングされて表示されるのを防止します。

Fra 2019-01-27 08:17:09 UTC. Se den seneste versjonen.

// ==UserScript==
// @name         pixivの作品一覧をトリミングせずに表示
// @namespace    https://armedpatriot.blog.fc2.com/
// @version      1.1.0
// @description  pixivのプロフィール画面(ユーザーのイラストやマンガが一覧表示される画面)と、作品画面の下に表示される作者の作品一覧内の作品が、正方形にトリミングされて表示されるのを防止します。
// @author       Patriot
// @homepageURL  https://armedpatriot.blog.fc2.com/
// @run-at       document-end
// @match        https://www.pixiv.net/member.php*
// @match        https://www.pixiv.net/member_illust.php?*
// @match        https://www.pixiv.net/bookmark.php*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    let elementClassName="sc-dxgOiQ";// この変数に、style="background-image: url("https://i.pximg.net/c/240x240/img-master/img/~~.jpg")"がある要素のクラス名を書いてください。その要素には2つクラスがありますが、"sc-"から始まらない方のクラスを書いてください。;

    let styleElement = document.createElement('style');
    document.getElementsByTagName('head')[0].appendChild(styleElement);
    let css = styleElement.sheet;
    css.insertRule("."+elementClassName+"{background-size:contain!important;}", css.cssRules.length);
    setInterval(//TODO: 画像が読み込まれるタイミングが分からないので、ひとまず無限ループ
        function(){
            if(document.getElementsByClassName(elementClassName)[0].style.backgroundImage!==""){
                Array.from(document.getElementsByClassName(elementClassName)).forEach(e=>{
                    if(e.style.backgroundImage.indexOf("square1200")!==-1){// トリミングされた画像の場合
                        e.style.backgroundImage=e.style.backgroundImage.replace(/250x250_.+?\//, "240x240/").replace("square1200", "master1200");
                    }
                });
            }
        },
        500
    );
})();