Gmailのパーマリンク取得
by
Lhankor_Mhy
2 days ago [2025/05/09 14:34:19]
メールを開いてブックマークレットを使ってからページをクリックすると、メールのパーマリンクをクリップボードにコピーします。
-
/*
* @title Gmailのパーマリンク取得
* @description メールを開いてブックマークレットを使ってからページをクリックすると、メールのパーマリンクをクリップボードにコピーします。
* @include https://mail.google.com/
* @license CC0
* @javascript_url
*/
(async () => {
const targetDataAttributeName = "data-thread-perm-id"
const waitForEvent = (eventTarget, eventType) => new Promise((resolve, reject) =>
eventTarget.addEventListener(eventType, resolve, { once: true, signal: AbortSignal.timeout(10000) })
)
const targetElement = document.querySelector(`[${targetDataAttributeName}]`)
if (!targetElement) {
alert("メールを開いてからブックマークレットを使ってください")
return
}
const threadId = targetElement?.getAttribute(targetDataAttributeName)
await waitForEvent(document, 'mousedown')
navigator.clipboard.writeText(`https://mail.google.com/mail/u/0/#all/${encodeURIComponent(threadId)}`)
.then(() => alert("メールのパーマリンクをクリップボードにコピーしました"))
.catch(err => {
console.error("クリップボードへのコピーに失敗しました", err)
alert("クリップボードへのコピーに失敗しました")
});
})()
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。