方法一:
在下面方法传入你想要复制的字符 ,直接调用该方法就好
export function copyText(text: string) {if (navigator.clipboard) {// clipboard api 复制navigator.clipboard.writeText(text)} else {const textarea = document.createElement('textarea')document.body.appendChild(textarea) textarea.style.position = 'fixed'// 隐藏此输入框textarea.style.clip = 'rect(0 0 0 0)'textarea.style.top = '10px' textarea.value = text // 赋值textarea.select() // 选中document.execCommand('copy', true)// 复制document.body.removeChild(textarea) // 移除输入框}
}// 使用
copyText('复制的字符')
方法二:
export function copyText(text: string) {var textarea = document.createElement("textarea");document.body.appendChild(textarea);// 隐藏此输入框textarea.style.position = "fixed";textarea.style.clip = "rect(0 0 0 0)";textarea.style.top = ".15625rem";// 赋值textarea.value = text;// 选中textarea.select();// 复制try {var msg = document.execCommand("copy") ? "成功" : "失败";// alert('复制' + msg);} catch (err) {// alert('不能使用这种方法复制内容');}// 移除输入框document.body.removeChild(textarea);
}
上面的两个方法,有时候安卓手机的,没有开系统权限,就好报错:
方法三:下面这样简化的复制写法就可以
// 文件文案 使用 copyText('复制的字符')
export function copyText(text: string) {// 要复制的文案// let text = "这是需要复制的文案";// 创建一个临时的 input 元素let input = document.createElement('input');// 将文案赋值给 input 元素的 value 属性input.value = text;// 将 input 元素添加到页面中document.body.appendChild(input);// 选中 input 元素的内容input.select();// 执行复制操作document.execCommand('copy');// 移除临时的 input 元素document.body.removeChild(input);
}