vortispy's diary

日記です

タイトルとURLをクリップボードにコピーするブックマークレットつくった

タイトルと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のフォーカスを変更するのに引っかかったりした。 動かないサイトもある。今度調べる。

参考

Bookmarkletを作ろう(準備編) - Qiita

Closure Compiler Service

UrlEncode.net URLエンコード

[JavaScript]クリップボードを使ったコピーとペースト - Qiita

Document.execCommand() - Web API | MDN

Clipboard.writeText() - Web APIs | MDN

Clipboard API があった

JavaScript Minifier

Is there any way in JavaScript to focus the document (content area)? - Stack Overflow