项目场景:
最近项目中有一个如下的需求
点击复制之后,将对应的内容复制到粘贴板上,调研之后发现一种是用clipboard.js,另外一种是用原生js实现,项目框架用的Vue,考虑到clipboard需要重新安装插件,所以博主最终使用原生js。以下是实现的代码。。
代码:
javascript"> CopyFun() {
let url = this.messageInfo.saasId;
let oInput = document.createElement("input");
oInput.value = url;
document.body.appendChild(oInput);
oInput.select(); // 选择对象;
document.execCommand("Copy"); // 执行浏览器复制命令
this.$message({
message: "复制成功",
type: "success",
});
oInput.remove();
}
总结:
使用原生需要利用 document.execCommand(“Copy”); // 执行浏览器复制命令,但是浏览器的复制命令,必须结合一个input元素使用,所以我们利用js创建一个input节点,使用完复制之后,在将其删除,不会对elementTree产生较大的影响,复制成功在添加些提示文字,整体上交互效果一级棒,完美的实现产品需求。。