コメントメタブタイトル修正
by
Lhankor_Mhy
2023-06-03 [2023/06/03 12:09:48]
メタブタイトルが「...のコメント」となってしまうところを、元ページのタイトルに変更する。自分が公開ブクマをしていることが条件。ブクマ後リロード推奨。
@@ -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 です。