复制链接的功能实现
·
一. 点击复制链接的功能——方法一
原理:借助input 这个元素实现。后端接口返回相应的链接地址,然后将链接地址赋值给input的value值,最后通过input 元素的原生方法select() ,选中input 中的所有文本,最后调用document.execCommand('copy') 原生方法即可执行浏览器复制命令。最后再把input 元素去掉就可以了。
copyLink(val) { // 复制链接
console.log(val, '复制链接')
let url = val // 后台接口返回的链接地址
let inputNode = document.createElement('input') // 创建input
inputNode.value = url // 赋值给 input 值
document.body.appendChild(inputNode) // 插入进去
inputNode.select() // input 原生方法,支持select() :选择input 中的所有文本
document.execCommand('Copy') // 原生调用执行浏览器复制命令
inputNode.className = 'oInput'
inputNode.style.display = 'none' // 隐藏
this.$message.success('复制成功')
},
这是之前使用的方法,但是今天访问了 MDN 发现该方法已弃用,不再推荐使用该方法。接下来介绍替代上面的新方法。
二. 点击复制链接的功能——方法二
使用BOM 中的navigator对象中的clipboard 属性。实现剪切、复制、粘贴功能。clipboard 链接直达,可以查看到更多用法哦。
// 写入文本到系统剪切板中
let url = 'https://www.baidu.com';
navigator.clipboard.writeText(url).then(() => {
alert('复制成功');
});
// 从系统剪切板中读取文本
let div = document.querySelector('.result');
navigator.clipboard.readText().then((text) => {
div.innerText = text;
});
更多推荐


所有评论(0)