js复制到剪贴板
时间: 2023-07-23 18:15:35 浏览: 176
以下是使用 JavaScript 将文本复制到剪贴板的示例代码:
```js
function copyToClipboard(text) {
const input = document.createElement('textarea');
input.value = text;
document.body.appendChild(input);
input.select();
document.execCommand('copy');
document.body.removeChild(input);
}
copyToClipboard('要复制的文本内容');
```
当你调用 `copyToClipboard` 函数并传入你要复制的文本内容时,它将创建一个临时的 `textarea` 元素,将文本插入到其中,然后将元素添加到 DOM 中。接着,使用 `select()` 方法选中文本,使用 `execCommand('copy')` 方法将其复制到剪贴板中。最后,将 `textarea` 元素从 DOM 中删除。
相关问题
JavaScript 复制到剪切板
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));
```
原生js复制到剪切板
你可以使用以下代码将文本复制到剪贴板中:
```javascript
// 创建一个临时的textarea元素
let textarea = document.createElement('textarea');
// 设置textarea的值为要复制的文本
textarea.value = '要复制的文本';
// 将textarea元素添加到html文档中
document.body.appendChild(textarea);
// 选中textarea中的文本
textarea.select();
// 复制选中的文本到剪贴板中
document.execCommand('copy');
// 移除临时的textarea元素
document.body.removeChild(textarea);
```
注意:该方法需要用户进行手动操作,即在页面中点击按钮等事件触发该代码执行。在某些浏览器中,该方法需要用户进行授权才能正常执行。
阅读全文