タイトルとURLをクリップボードにコピーするブックマークレットつくった
minifyとURLエンコード前
(setTimeout(async function(){ const title = document.getElementsByTagName("title")[0].text; const url = document.location.href; const text = title + "\n" + url; window.blur(); await navigator.clipboard.writeText(text); }, 200));
Share on Twitter使ってたけどTwitterの変更でログイン必須になって使いづらくなったから作った。
最初はdocument.execCommand("copy")
で書いたけど廃止になるっぽいのでClipboard APIに直した。
こっちのほうがコードがかんたんでいいけど、windowのフォーカスを変更するのに引っかかったりした。
動かないサイトもある。今度調べる。
参考
[JavaScript]クリップボードを使ったコピーとペースト - Qiita
Document.execCommand() - Web API | MDN
Clipboard.writeText() - Web APIs | MDN
Is there any way in JavaScript to focus the document (content area)? - Stack Overflow