代码如下好用
var dummy = document.createElement("textarea"); // 创建一个隐藏的文本区域元素
document.body.appendChild(dummy); // 将该元素添加到页面中
dummy.value = e; // 将要复制的文本赋值给该元素
dummy.select(); // 选择该元素的内容
document.execCommand("copy"); // 执行复制操作
document.body.removeChild(dummy);
背景是 这个项目需要用一个excel预览模板组件,这个组件模板是canvas的,ctrl+c内部是用navigator.clipboard复制的,本地 127.0.0.1 访问能用,192.168.x.x这种非本机的ip复制就不好使,
改组件复制事件源码 试了很多方法,其中包括将文本写入浏览器内存,再阻止ctrl+c默认事件,只复制模板内并粘贴到输入框可以。
最终第二天发现这个可行。因为不影响其他的粘贴并复制进来