封装一个methods
// html
<div id="copy-text-href" style="position: absolute;left: -2000px;">{{copyHrefText}}</div>
// javascript
function copyTextToClip(NodeId, Text,callback) {
// NodeId: Dom 的id
// Text: 要被复制的文本
//callback: 复制成功的回调
var system = navigator.userAgent; //获取系统信息
//苹果
if (system.match(/(iPhone|iPod|iPad);?/i)) {
window.getSelection().removeAllRanges(); //将页面所有的文本区域都从选区中移除
var copyDOM = document.getElementById(NodeId); //要复制文字的节点
copyDOM.innerHTML =Text;
var range = document.createRange();
// 选中需要复制的节点
range.selectNode(copyDOM);
// 执行选中元素
window.getSelection().addRange(range);
// 执行 copy 操作
var successful = document.execCommand('copy');
callback && callback(successful);
// 移除选中的元素
window.getSelection().removeAllRanges();
}
// 安卓
if (system.indexOf('Android') > -1) {
var newInput = document.createElement("input"); // 这里的逻辑就是新建立一个input标签,
newInput.value = Text + '';
document.body.appendChild(newInput); // 把input添加到body中
newInput.select(); // select 选中input里面的所有文本内容
let flag = document.execCommand("Copy"); // 执行浏览器复制命令
document.body.removeChild(newInput); // 最近需要销毁
callback && callback(flag);
}
}