開いているページのタイトルと URL をクリップボードにコピーするブックマークレット
Twitter 投稿やメール送信用に、開いているページのタイトルと URL をコピーしたいことがあったので作った。
いきなりだがブックマークレットは以下のとおり。
javascript:((d,e)=>{e=d.createElement('textarea');e.textContent=d.title+' '+d.URL;d.body.appendChild(e);e.select();d.execCommand('copy');d.body.removeChild(e)})(document);
セルフ Uglify したもので、圧縮前のコードはこんな感じ。
((d, e) => {
  e = d.createElement('textarea');
  e.textContent = d.title + ' ' + d.URL;
  d.body.appendChild(e);
  e.select();
  d.execCommand('copy');
  d.body.removeChild(e);
})(document);
テキストエリアを作り、そこにコピーしたい文字列を書いておく。一度ページに埋め込んだら、テキストエリアを選択してコピーし、要素を削除して終わり。
document.execCommand('copy') は、コピーに成功すると true を返すので、戻り値をチェックして処理を変えたりしても良いだろう。