Safari 10からようやくサポートされたので、自分が利用する部分にもようやく導入した。
実装例
clipboard.jsなるものもあるが、これはDOMの指定が必要っぽくて少し使いづらかった。 clipboardjs.com
中身は document.execCommand
なので、そっち方面で見つけたStackOverflowの回答をベースにjQuery依存を削除した。
- サンプル
// コールバックあり copy('some text', function(text){ console.log('copied: '+text); }); // コールバックなし // アラートダイアログでコピーしたテキストが表示される copy('some text');
使用例
ブックマークレットで現在見ているページのリンクをタイトルつきで org-modeやMarkdownフォーマットでコピーする
copy('[['+location.href+']['+document.title+']]');
copy('['+document.title+']('+location.href+')');
今までpromptで表示して手動でコピーしていたのでこれはとても便利。
サポート状況
記事執筆時点ではこんな感じ。