返回

轻松掌握,一分钟教你复制文本到剪贴板!

前端

作为开发人员,我们在日常工作中经常会遇到需要复制文本到剪贴板的情况。例如,我们可能需要从网页上复制一段文字或代码,或者我们需要从文档中复制一些信息到另一个应用程序中。使用JavaScript,我们可以轻松实现这个功能。

有两种方法可以复制文本到剪贴板:

  • 使用document.execCommand()方法
  • 使用Async Clipboard API

使用document.execCommand()方法

document.execCommand()方法是一个非常简单的方法,它允许我们在浏览器中执行一些命令,例如复制、剪切和粘贴。要使用这个方法复制文本,我们只需要传入一个命令字符串"copy"即可。例如:

document.execCommand("copy");

这段代码会将当前选中的文本复制到剪贴板。但是,这个方法有一个限制,那就是它只能复制当前选中的文本。如果我们想复制其他文本,我们需要先将其选中,然后再执行这个方法。

使用Async Clipboard API

Async Clipboard API是一个新的API,它允许我们在浏览器中异步复制和粘贴文本。这个API提供了两个方法:

  • writeText()方法:将文本复制到剪贴板
  • readText()方法:从剪贴板中读取文本

要使用这个API,我们需要先获取剪贴板对象:

const clipboard = navigator.clipboard;

然后,我们可以使用writeText()方法将文本复制到剪贴板:

clipboard.writeText("Hello, world!");

这段代码会将"Hello, world!"字符串复制到剪贴板。

同样,我们可以使用readText()方法从剪贴板中读取文本:

clipboard.readText().then((text) => {
  console.log(text);
});

这段代码会将剪贴板中的文本输出到控制台。

Async Clipboard API的优点是它可以异步复制和粘贴文本,这使得它比document.execCommand()方法更加高效。此外,它还可以复制和粘贴文件。

现在,您已经了解了如何使用JavaScript复制文本到剪贴板。您可以根据自己的需要选择使用document.execCommand()方法或Async Clipboard API。