h5 设置剪切板内容 注意document.execCommand 方法已经启用 请用最新api
时间: 2024-02-12 08:08:40 浏览: 175
好的,最新的 Clipboard API 提供了 `writeText()` 方法,可以直接将文本内容写入剪切板中,代码如下:
```javascript
navigator.clipboard.writeText('要设置的文本内容')
.then(() => {
console.log('文本已成功复制到剪切板');
})
.catch((error) => {
console.error('写入剪切板时出现错误:', error);
});
```
上述代码中,使用 `navigator.clipboard.writeText()` 方法将文本内容写入剪切板中,并通过 Promise 对象的 `then()` 和 `catch()` 方法处理操作成功和失败的情况。
需要注意的是,此 API 目前仅支持最新的浏览器,如果需要支持更早期的浏览器,可以使用之前提到的 `execCommand()` 方法来操作剪切板。
相关问题
但是document.execCommand api已经废弃,还有其他好的方法吗
是的,`document.execCommand` 方法已经被标记为过时,推荐使用 `Clipboard` API 来操作剪切板。下面是使用 `Clipboard` API 实现往剪切板中放入文字的代码:
```js
async function copyToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
console.log('Text copied to clipboard');
} catch (err) {
console.error('Failed to copy text: ', err);
}
}
// 调用示例
copyToClipboard('Hello, world!');
```
这个函数使用 `navigator.clipboard` 对象的 `writeText` 方法将文本参数写入剪切板中。这个方法返回一个 Promise,可以使用 `await` 关键字等待其完成。如果写入成功,控制台会输出一条消息,如果写入失败,控制台会输出错误信息。需要注意的是,这个方法需要在 HTTPS 网站上运行才能正常使用。
h5 设置剪切板内容
在 HTML5 中,可以使用 Clipboard API 来设置剪切板的内容。具体实现如下:
```javascript
// 创建一个新的剪切板对象
const clipboardData = new ClipboardEvent('').clipboardData || new DataTransfer();
// 设置剪切板内容
clipboardData.setData('text/plain', '要设置的文本内容');
// 将剪切板对象的内容放入剪切板中
document.execCommand('copy');
```
上述代码中,通过 `ClipboardEvent` 对象创建了一个新的剪切板对象,然后使用 `setData()` 方法设置了剪切板对象的内容。最后,使用 `execCommand('copy')` 方法将剪切板对象的内容放入剪切板中,实现了设置剪切板内容的功能。
需要注意的是,由于浏览器的安全机制限制,这些方法只能在用户主动操作(例如点击按钮)时触发,而不能在代码中自动触发。
阅读全文