但是document.execCommand api已经废弃,还有其他好的方法吗
时间: 2024-02-11 10:08:54 浏览: 26
是的,`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 设置剪切板内容 注意document.execCommand 方法已经启用 请用最新api
好的,最新的 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替换
document.execCommand 是一个过时的 API,不推荐使用。它被设计用于在浏览器中执行一些命令,比如剪切、复制、粘贴等。替代它的方法是使用更加安全和可控的 API,比如 Clipboard API 和 InputEvent.dataTransfer 属性。这些 API 允许你以编程的方式控制剪贴板和输入事件。