前提
document.execCommand("copy")
が既に非推奨になっている。代替手段として以下。
- HTML5のClipboard API
- IE対応ではwindow.clipboardData
Clipboard API(IE以外)
navigator.clipboard.writeText()
var clipboardText = "clipboard";
navigator.clipboard.writeText(clipboardText);
IE以外は対応している。
*Compatibility
補足
window.clipboardData(IE)
window.clipboardData.setData
var clipboardText = "clipboard";
window.clipboardData.setData('Text', clipboardText );
両方対応する場合
var clipboardText = "clipboard";
if(navigator.clipboard == undefined) {
window.clipboardData.setData('Text', clipboardText);
} else {
navigator.clipboard.writeText(clipboardText);
}
参考
- クリップボードとのやりとり - Mozilla | MDN
- ClipboardEvent.clipboardData - Web APIs | MDN
- JavaScript からクリップボードを扱える Async Clipboard API がそろそろ見えてきました
- Clipboard API - Web APIs | MDN
- JavaScript まとめ - クリップボード操作
こんなのもある。
以上メモのみ。