文字复制兼容性写法
1. 方案1:
if (navigator.clipboard && window.isSecureContext) {
await navigator.clipboard.writeText(copyContent);
} else {
// 兼容旧版浏览器
const textarea = document.createElement("textarea");
textarea.value = copyContent;
document.body.appendChild(textarea);
textarea.select();
document.execCommand("copy");
document.body.removeChild(textarea);
}
参考
Navigator: clipboard property - Web APIs | MDN
Document: execCommand() method - Web APIs | MDN
注意:文档中有说只能在安全上下文中(localhost、https)读取剪贴板,因此添加了 window.isSecureContext 条件判断。点此查看关于安全上下文说明

2. 方案2:
使用clipboard插件
①安装:npm install clipboard --save
②使用:
<button class="copy-btn">复制</button>
...
const copyContent = "复制的文字内容。。。";
const clipboard = new Clipboard(".copy-btn", {
ext: () => copyContent,
});
clipboard.on("success", () => {
ElMessage.success("复制成功");
clipboard.destroy();
});
clipboard.on("error", () => {
ElMessage.error("复制失败");
clipboard.destroy();
});
③参考:

浙公网安备 33010602011771号