📌  相关文章
📜  javascript 复制剪贴板 (1)

📅  最后修改于: 2023-12-03 15:31:41.995000             🧑  作者: Mango

JavaScript 复制剪贴板

复制剪贴板是一项常见但也有些许复杂度的任务,特别是在使用 JavaScript 处理剪贴板时。在本文中,我们将探讨如何在 Javascript 中复制和粘贴文本到剪贴板中。

方法一:使用 document.execCommand()

要将文本复制到剪贴板,请使用 document.execCommand() 方法。它使用 copy 键来触发将所选文本复制到剪贴板中。以下是代码示例:

function copyTextToClipboard(text) {
    var textarea = document.createElement("textarea");
    textarea.value = text;

    // 我们把 textarea 追加到 body 中,并复制剪贴板内容
    document.body.appendChild(textarea);
    textarea.select();
    document.execCommand("copy");
    textarea.remove();
}

copyTextToClipboard("欢迎使用 JavaScript 复制剪贴板");

在上面的代码中,我们创建了一个 textarea 元素,并用了复制的文本内容填充它。然后将其插入到 document.body 中,执行 select() 方法并使用 execCommand() 函数将其复制。最后将使用 remove() 方法从 document.body 中删除掉。

请注意,由于 execCommand() 很容易被滥用和滥用,因此这种方法的支持不够严格。该方法已从主流浏览器中删除,因此我们需要使用一种更安全、更可靠的方法。

方法二:使用 Clipboard API

为了更安全地复制剪贴板,现有的解决方案是使用 Clipboard API。该 API 专门处理剪贴板的复制和粘贴,并在较新的浏览器中获得了广泛的支持。以下是代码示例:

function copyTextToClipboard(text) {
    navigator.clipboard.writeText(text);
}

copyTextToClipboard("欢迎使用 JavaScript 复制剪贴板");

上面的代码中,我们使用 Navigator.clipboard 对象调用 writeText() 方法,该方法将文本复制到剪贴板中。此 API 在较新的浏览器中已广泛使用,但不支持早期版本的浏览器。

结论

这些方法都可以在 Javascript 中复制和粘贴文本到剪贴板中。推荐使用 Clipboard API,因为它更可靠和安全,而且在较新的浏览器中已得到广泛支持。