Tangolf の結果コピー
by
pacochi
2023-04-04 [2023/04/04 10:38:56]
ツイートボタンをコピーボタンにします。
-
/*
* @title Tangolf の結果コピー
* @description ツイートボタンをコピーボタンにします。
* @include https://tangolf.hatelabo.jp/
* @license MIT License
* @javascript_url
*/
// https://gist.github.com/pacochi/0568e742d53902f99f533aa1b4ed51e2 のおすそわけ
((
D = document,
B = t => `[class^="_${t}Button_"]`,
T = (n = D) => n?.querySelector?.(B('share')),
O = e => new MutationObserver((l, o) =>
(l.reduce((n, m) => n.concat([...m.addedNodes]), []).find(n => T(n)) && o.disconnect(R()))
).observe(D.body, { childList: 1, subtree: 1 }),
R = (c = 'スコアをコピー') => Object.assign(T(), {
_: D.querySelector(B('reset')).addEventListener('click', O, { once: 1 }),
innerText: c + '!',
onclick: (e, t = e.target) => e.preventDefault(
t.innerText = c + '🆗',
navigator.clipboard.writeText([...(new URL(t.href)).searchParams.values()].join('\n#'))
)
})
) => { T() ? R() : O(); })();
-
- Permalink
- このページへの個別リンクです。
- RAW
- 書かれたコードへの直接のリンクです。
- Packed
- 文字列が圧縮された書かれたコードへのリンクです。
- Userscript
- Greasemonkey 等で利用する場合の .user.js へのリンクです。
- Loader
- @require やソースコードが長い場合に多段ロードする Loader コミのコードへのリンクです。
- Metadata
- コード中にコメントで @xxx と書かれたメタデータの JSON です。