但是document.execCommand api已经废弃,还有其他好的方法吗
34浏览 · 2024-02-11 10:08:54
是的,`document.execCommand` 方法已经被标记为过时,推荐使用 `[clip](https://geek.csdn.net/educolumn/0830e95abf03b0b8727f8e6fb0b6ac18?spm=1055.2569.3001.10083)board` API 来操作剪切板。下面是使用 `[clip](https://geek.csdn.net/educolumn/0830e95abf03b0b8727f8e6fb0b6ac18?spm=1055.2569.3001.10083)board` API 实现往剪切板中放入文字的代码:
```js
async function copyTo[clip](https://geek.csdn.net/educolumn/0830e95abf03b0b8727f8e6fb0b6ac18?spm=1055.2569.3001.10083)board(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!');
这个[函数](https://geek.csdn.net/educolumn/ba94496e6cfa8630df5d047358ad9719?dp_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpZCI6NDQ0MDg2MiwiZXhwIjoxNzA3MzcxOTM4LCJpYXQiOjE3MDY3NjcxMzgsInVzZXJuYW1lIjoid2VpeGluXzY4NjQ1NjQ1In0.RrTYEnMNYPC7AQdoij4SBb0kKEgHoyvF-bZOG2eGQvc&spm=1055.2569.3001.10083)使用 `navigator.clipboard` [对象](https://geek.csdn.net/educolumn/04c51611e4b730957464192e0307b82c?spm=1055.2569.3001.10083)的 `writeText` 方法将文本参数写入剪切板中。这个方法返回一个 Promise,可以使用 `await` 关键字等待其完成。如果写入成功,控制台会输出一条消息,如果写入失败,控制台会输出错误信息。需要注意的是,这个方法需要在 HTTPS 网站上运行才能正常使用。
相关问题
好的,最新的 Clipboard API 提供了 `writeText()` 方法,可以直接将文本内容写入剪切板中,代码如下:
```javascript
navigator.clipboard.writeText('要设置的文本内容')
.then(() => {
console.log('文本已成功复制到剪
```
可以使用以下代码替换document.execcommand已弃用:
1. 使用document.execCommand()的新API:
document.execCommand("copy");