1、execCommand方法
document.execCommand(‘copy’, true);
clipboardCopy(content){
let copyDom = document.createElement('div')
copyDom.innerText = content
copyDom.style.position = 'absolute'
copyDom.style.top='0px'
copyDom.style.right='-9999px'
document.body.appendChild(copyDom)
//创建选中范围
let range = document.createRange()
range.selectNode(copyDom)
//移除剪切板中内容
window.getSelection().removeAllRanges()
//添加新的内容到剪切板
window.getSelection().addRange(range)
//复制
let successful = document.execCommand('copy')
copyDom.parentNode.removeChild(copyDom)
if(successful){
Toast.info('复制成功')
}else{
this.switchWxDialog = true
}
}
此语法已被废弃
2、Clipboard API
if (navigator.clipboard) {
console.log('navigator.clipboard')
navigator.clipboard.writeText(content).then(()=>{
Toast.info('复制成功')
})
}
使用这个API 需要用户进行相应授权,
参考大佬文章: JS复制文字到剪切板的极简实现及扩展,Clipboard API无需浏览器权限申请;但是实际使用时发现 在移动端部分设备不会自动授权,没有授权调用方法会报错。最终舍弃此方式