コメントメタブタイトル修正

    @@ -1,12 +1,24 @@ /* - * @title メタブタイトル修正 - * @description メタブタイトルが「...のコメント」となってしまうところを、元ページのタイトルに変更する。 - * @include https://b.hatena.ne.jp/* + * @title コメントメタブタイトル修正 + * @description メタブタイトルが「...のコメント」となってしまうところを、元ページのタイトルに変更する。自分が公開ブクマをしていることが条件。ブクマ後リロード推奨。 + * @include https://b.hatena.ne.jp/entry/*comment/* * @license CC0 * @javascript_url */ -void(async()=>{ - document.querySelector('.entry-editModal-textInput').value = new DOMParser().parseFromString( await ( await fetch(document.documentElement.dataset.entryUrl) ).text() , "text/html").querySelector('title').textContent; - document.querySelector('.entry-editModal-decide').click(); + +void (async () => { + { + const regexpEscape = s => s.replace(/[\/\\^$.*+?()[\]{}|]/g, '\\$&') + const regexp = new RegExp(regexpEscape(String.raw`https://b.hatena.ne.jp/entry/`) + '\\d+\/comment\/') + if (!regexp.test(document.documentElement.dataset.entryUrl)) if (!confirm('コメントメタブではなさそうですがタイトル変更しますか?')) return; + } + + const pageTitle = new DOMParser().parseFromString(await (await fetch(document.documentElement.dataset.entryUrl)).text(), "text/html").querySelector('title').textContent + if (!confirm(`タイトルを"${pageTitle}"に変更します`)) return; + + document.querySelector('.entry-editModal-textInput').value = pageTitle + document.querySelector('.entry-editModal-decide').click() })() + +
  • /*
     * @title コメントメタブタイトル修正
     * @description メタブタイトルが「...のコメント」となってしまうところを、元ページのタイトルに変更する。自分が公開ブクマをしていることが条件。ブクマ後リロード推奨。
     * @include https://b.hatena.ne.jp/entry/*comment/*
     * @license CC0
     * @javascript_url
     */
    
    
    void (async () => {
        {
            const regexpEscape = s => s.replace(/[\/\\^$.*+?()[\]{}|]/g, '\\$&')
            const regexp = new RegExp(regexpEscape(String.raw`https://b.hatena.ne.jp/entry/`) + '\\d+\/comment\/')
            if (!regexp.test(document.documentElement.dataset.entryUrl)) if (!confirm('コメントメタブではなさそうですがタイトル変更しますか?')) return;
        }
    
        const pageTitle = new DOMParser().parseFromString(await (await fetch(document.documentElement.dataset.entryUrl)).text(), "text/html").querySelector('title').textContent
        if (!confirm(`タイトルを"${pageTitle}"に変更します`)) return;
    
        document.querySelector('.entry-editModal-textInput').value = pageTitle
        document.querySelector('.entry-editModal-decide').click()
    })()
    
    
    
  • Permalink
    このページへの個別リンクです。
    RAW
    書かれたコードへの直接のリンクです。
    Packed
    文字列が圧縮された書かれたコードへのリンクです。
    Userscript
    Greasemonkey 等で利用する場合の .user.js へのリンクです。
    Loader
    @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
    Metadata
    コード中にコメントで @xxx と書かれたメタデータの JSON です。

History

  1. 2023/06/03 12:09:49 - 2023-06-03
  2. 2023/06/02 16:14:48 - 2023-06-02
  3. 2023/06/02 16:13:43 - 2023-06-02
  4. 2023/06/02 16:13:08 - 2023-06-02
  5. 2023/06/02 15:41:20 - 2023-06-02
  6. 2023/06/01 11:47:15 - 2023-06-01
  7. 2023/06/01 11:02:00 - 2023-06-01