2つのブコメを比較

    @@ -3,6 +3,7 @@ * @description ブコメページで比較したいブコメページを * @include https://b.hatena.ne.jp/entry/* * @license CC0 + * @javascript_url */ (async () => {
  • /*
     * @title 2つのブコメを比較
     * @description ブコメページで比較したいブコメページを
     * @include https://b.hatena.ne.jp/entry/*
     * @license CC0
     * @javascript_url
     */
    
    (async () => {
        const regexpEscape = s => s.replace(/[\\^$.*+?()[\]{}|]/g, '\\$&');
        const regexp = new RegExp(regexpEscape("https://b.hatena.ne.jp/entry/") + "(s/)*(.+)");
        const BtoURL = s => s.replace(regexp, (_, p1, p2) => (p1 ? "https://" : "http://") + p2);
    
        const bookmarks = (await (await fetch('https://b.hatena.ne.jp/entry/jsonlite/?url=' + encodeURIComponent(BtoURL(prompt('比較ブクマURL', ''))))).json()).bookmarks;
    
        bookmarks.forEach(bookmark => {
            const targetElement = document.querySelector(`.is-active.bookmarks-sort-panel [data-user-name="${bookmark.user}"] .entry-comment-text`);
            targetElement ? targetElement.style.display = "flex" : null;
            targetElement?.insertAdjacentHTML?.('beforeend', `<div style="background:wheat;flex:0 0 50%;">${bookmark.comment}</div>`);
        });
    })()
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。