js 复制到剪贴板
1、execCommand
原生 copy,兼容 ios10 +
var input = document.createElement('input');
input.setAttribute('readonly', 'readonly');
input.setAttribute('value', Copytext);
document.body.appendChild(input);
input.select();
input.setSelectionRange(0, 9999);
document.execCommand('Copy’);
if (document.execCommand('Copy')) {
// 复制成功
}
2、 ZeroClipboard 就是常说的 Flash 法,通过加载一个 Flash,让其访问系统剪贴板来绕过绝大多数系统的权限限制,然而体积稍微庞大些
3、Clipboard.js 近几年使用较多,体积相对小,兼容性可以接受,使用还比较方便。
// html
<textarea id="bar">Mussum ipsum cacilds...</textarea>
<button class="btn" data-clipboard-action="cut" data-clipboard-target="#bar">
Cut to clipboard
</button>
// js
var clipboard = new ClipboardJS('.btn')
clipboard.on('success', function(e) {
console.info('Action:', e.action)
console.info('Text:', e.text)
console.info('Trigger:', e.trigger)
e.clearSelection()
})
clipboard.on('error', function(e) {
console.error('Action:', e.action)
console.error('Trigger:', e.trigger)
})