/**
* js 复制方法封装,直接调用使用
* @param {*} text 需要复制的内容
* @returns
*/
export const copy = (text)=>{
if(navigator.clipboard && window.isSecureContext){
console.log(text);
return navigator.clipboard.writeText(text)
}else{
// 判断是否支持拷贝
if (!document.execCommand('copy')) return Promise.reject()
// 创建标签,并隐藏
const textArea = document.createElement('textarea')
textArea.style.position = 'fixed'
textArea.style.top = textArea.style.left = '-100vh'
textArea.style.opacity = '0'
textArea.value = text
document.body.appendChild(textArea)
// 聚焦、复制
textArea.focus()
textArea.select()
return new Promise((resolve, reject) => {
// 不知为何,必须写这个三目,不然copy不上
document.execCommand('copy') ? resolve() : reject()
textArea.remove()
})
}
// 此复制方案在线上环境被禁用,浏览器禁用了非安全域的 navigator.clipboard 对象
// return navigator.clipboard.writeText(text)
}
js复制文本内容
最新推荐文章于 2024-04-12 18:31:57 发布