方法一: 使用浏览器执行一些预定义document.execCommand
document.execCommand(commandName, showUI, value); //commandName:要执行的命令名称,比如 "copy"、"cut"、"paste" 等。 //showUI:一个布尔值,指定是否在执行命令时显示用户界面。通常设置为 false。 //value:执行命令所需的额外参数,根据不同的命令而变化。
这种方法通过创建一个临时的文本区域元素,并将文本设置为其值,然后通过执行 execCommand("copy") 方法将文本复制到剪贴板。最终代码如:
var input = document.getElementById("input");
input.select(); // 选中文本
document.execCommand("copy"); // 执行浏览器复制命令方法二:使用clipboard.js
<div style="text-align: center;" class="copyNbb" data-clipboard-text="复制的文本" data-clipboard-action="copy">
</div>
var clipboard = new ClipboardJS('.copyNbb');
clipboard.on('success', function (e) {
// 清除文本选中状态
e.clearSelection();
// layer.msg("复制成功,打开微信,粘贴搜索");
$('.block-c').removeClass('hidden');
$('.block-c').show();
});
clipboard.on('error', function (e) {
console.log('复制失败,请手动复制,粘贴搜索');
});方法三: 使用 Clipboard API(推荐)
Clipboard API 是现代浏览器提供的用于复制和粘贴操作的 API。它提供了更强大和灵活的功能,可以访问剪贴板并进行复制操作。以下是使用 Clipboard API 复制文本的示例:
async function copyTextToClipboard(text) {
try {
await navigator.clipboard.writeText(text);
console.log("Text copied to clipboard");
} catch (err) {
console.error("Failed to copy text: ", err);
}
}
// 调用函数并传入要复制的文本
copyTextToClipboard("Hello, world!");
```
请注意,使用 Clipboard API 需要在用户交互事件(例如点击按钮)中调用,以满足浏览器的安全要求。兼容性和使用方式,检查了浏览器是否支持 navigator.clipboard.writeText 方法,并使用 then 和 catch 来处理异步操作的结果和错误。这种方法更适合在需要兼容性考虑的情况下使用
function copyTextUsingBrowserAPI(text) {
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(text)
.then(() => {
console.log("Text copied to clipboard");
})
.catch((err) => {
console.error("Failed to copy text: ", err);
});
} else {
console.error("Clipboard API not supported");
}
}
// 调用函数并传入要复制的文本
copyTextUsingBrowserAPI("Hello, world!");
```



