2 changed files with 25 additions and 8 deletions
@ -0,0 +1,23 @@ |
|||||
|
import { NsMessage } from '/nerv-lib/component'; |
||||
|
const flag = navigator.clipboard && window.isSecureContext; |
||||
|
|
||||
|
export const copyText = (text: any) => { |
||||
|
if (flag) { |
||||
|
// navigator clipboard 向剪贴板写文本
|
||||
|
navigator.clipboard.writeText(text).then(() => { |
||||
|
NsMessage.success('复制成功'); |
||||
|
}); |
||||
|
} else { |
||||
|
// 创建text area
|
||||
|
const textArea = document.createElement('textarea'); |
||||
|
textArea.value = text; |
||||
|
// 使text area不在viewport,同时设置不可见
|
||||
|
document.body.appendChild(textArea); |
||||
|
textArea.focus(); |
||||
|
textArea.select(); |
||||
|
NsMessage.success('复制成功'); |
||||
|
// 执行复制命令并移除文本框
|
||||
|
document.execCommand('copy'); |
||||
|
textArea.remove(); |
||||
|
} |
||||
|
}; |
Loading…
Reference in new issue