方式一:使用 Clipboard API 方式
/** 将文本复制到剪贴板* @param e 要复制的内容*/
copyTextToClipboard(e) {const navClipboard = navigator.clipboardif (!navClipboard) {console.log('浏览器不支持 Clipboard API 方式')return}navClipboard.writeText(e).then(() => {console.log('复制成功')}, () => {console.log('复制失败')})
},
方式二:使用 document.execCommand() 方式
/** 将文本复制到剪贴板* @param e 要复制的内容*/
copyTextToClipboard(e) {const textArea = document.createElement('textarea')textArea.value = e// 添加到文档中textArea.style.position = 'fixed'textArea.style.left = '0'textArea.style.top = '0'document.body.appendChild(textArea)textArea.select() // 选择文本try {const result = document.execCommand('copy')if (result) {console.log('复制成功')} else {console.log('复制失败')}} catch (err) {console.log('复制错误:', err)}textArea.remove() // 移除元素
},
将方法一和方法二合并
/** 将文本复制到剪贴板* @param e 要复制的内容*/
copyTextToClipboard(e) {const navClipboard = navigator.clipboardif (!navClipboard) {const textArea = document.createElement('textarea')textArea.value = e// 添加到文档中textArea.style.position = 'fixed'textArea.style.left = '0'textArea.style.top = '0'document.body.appendChild(textArea)textArea.select() // 选择文本try {const result = document.execCommand('copy')if (result) {console.log('复制成功')} else {console.log('复制失败')}} catch (err) {console.log('复制错误: ', err)}textArea.remove() // 移除元素return}navClipboard.writeText(e).then(() => {console.log('复制成功')}, () => {console.log('复制失败')})
},