はてなグリーンスターに縁をつける

  • // ==UserScript==
    // @name         はてなグリーンスターに縁をつける
    // @title        はてなグリーンスターに縁をつける
    // @namespace    https://let.hatelabo.jp/Lhankor_Mhy/let/kNe6m5vsgKAA
    // @version      2024-01-31
    // @description  はてなグリーンスターに縁をつけます。via: https://b.hatena.ne.jp/entry/4748592896526814671/comment/murlock
    // @author       Lhankor_Mhy
    // @match        https://b.hatena.ne.jp/entry/*
    // @match        https://b.hatena.ne.jp/*/bookmark
    // @icon         https://b.hatena.ne.jp/favicon.ico
    // @license      CC0
    // @noframes
    // @grant        none
    // @javascript_url
    // ==/UserScript==
    
    {
        let timerId;
        new MutationObserver((mutationList, observer) => {
            mutationList.forEach((mutation) => {
                switch (mutation.type) {
                    case "childList":
                        clearTimeout(timerId);
                        timerId = setTimeout(replaceGreenStar, 500)
                        break;
                }
            });
        }).observe(document.body, {
            childList: true,
            subtree: true,
        });
    
        const replaceGreenStar = () => {
            document.querySelectorAll('.hatena-star-star.green span')?.forEach(e =>e.style.backgroundImage = `url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='10.299' viewBox='0 0 11 10.299'%3E%3Cpath d='M-4785.954,1552.838l2.935,2.125-1.127,3.381a.352.352,0,0,0,.538.393l2.815-1.961h0l.2-.14,3.009,2.1a.353.353,0,0,0,.533-.4l-1.036-3.128v0l-.079-.24.2-.15,0,0,2.712-1.971a.352.352,0,0,0-.207-.638h-3.651l-.079-.238,0,0-1.075-3.218a.352.352,0,0,0-.667-.005l-1.167,3.464h-3.653A.353.353,0,0,0-4785.954,1552.838Z' transform='translate(4786.096 -1548.503)' fill='%2300d200' stroke='%23000'/%3E%3C/svg%3E")`)
        }
        replaceGreenStar();
    }
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。