javascript:(()=>{const%20e=getSelection().toString();if(e){const%20t=document.createElement("textarea");t.textContent=e,document.body.appendChild(t),t.select(),document.execCommand("copy"),t.parentNode.removeChild(t)}})();
何ですか、これは?
iPhone Safariでテキストをコピーしてメモにペーストすると余計な装飾がついてきます。
このURLのリンクや太字、カラーなどいわゆるリッチテキストのフォーマットの設定は、正直言って要らないと思うことがしょっちゅうです。
そんな時に使うと、ひと手間省けて得した気分になる便利なやつです。
使い方
ブラウザで文字列を選択した状態で、ブックマークレットを実行します。
プレーンテキストがクリップボードに保存されるので、あとは自由にペーストして下さい。
copyplaintext.js
(
() => {
// ---------------------------------------------------------------
const text = getSelection().toString();
if (text) {
// textarea
const ta = document.createElement('textarea');
ta.textContent = text;
document.body.appendChild(ta);
// select text
ta.select();
// copy to clipboard
document.execCommand("copy");
// remove textarea
ta.parentNode.removeChild(ta);
}
// ---------------------------------------------------------------
}
)();
簡潔な説明
大体の流れは次の通りです。
- 選択された文字列を取得する。
- textareaを用意して、取得した文字列をそこに流し込む。
- textareaの内容を選択する。
- 選択した内容をクリップボードにコピーする。
- textareaを削除する。
テスト環境
iPhone 6s
iOS 13.4.1
Safari
まとめ
コードは割と短く、いい感じに仕上がりました。
以上、Qiita2度目の投稿でした。
お疲れ様でした。
参考
次の記事にお世話になりました。