JavaScript 复制到剪切板
时间: 2024-10-09 15:13:15 浏览: 22
JavaScript可以使用`document.execCommand`或HTML5的`clipboard API`来复制文本到剪贴板。以下是两种常见方法:
1. 使用`execCommand`:
```javascript
function copyToClipboard(text) {
var textarea = document.createElement('textarea');
textarea.value = text;
// 隐藏textarea,避免显示在页面上
textarea.style.position = 'absolute';
textarea.style.left = '-9999px';
document.body.appendChild(textarea);
textarea.select();
try {
document.execCommand('copy'); // IE8+、Firefox、Safari
} catch (e) {
textarea.contentEditable = true; // Chrome 和 Opera 会报错,需要设置contentEditable
textarea.focus();
setTimeout(function() {
textarea.textContent = '';
document.execCommand('copy');
textarea.remove();
}, 0);
}
}
```
2. 使用`clipboard_API` (适用于现代浏览器):
```javascript
navigator.clipboard.writeText(text)
.then(() => console.log('已复制'))
.catch(error => console.error('复制失败', error));
```