【功能修复】文件列表: 复制链接功能在部分浏览器环境下报错的问题

在 navigator.clipboard 为 undefined,导致无法读取 writeText 方法,浏览器抛出异常:
Uncaught TypeError: Cannot read properties of undefined (reading 'writeText')

Signed-off-by: 光帆 <1048766504@qq.com>
This commit is contained in:
光帆
2025-12-12 08:47:29 +00:00
committed by Gitee
parent 3d07ebcbe8
commit 8f5f2e96b3

View File

@@ -187,9 +187,29 @@ const openForm = () => {
/** 复制到剪贴板方法 */
const copyToClipboard = (text: string) => {
navigator.clipboard.writeText(text).then(() => {
message.success('复制成功')
})
if (navigator.clipboard && window.isSecureContext) {
navigator.clipboard
.writeText(text)
.then(() => {
message.success('复制成功')
})
.catch(() => {
message.error('复制失败')
})
} else {
// 兼容不支持 clipboard 的情况
try {
const textarea = document.createElement('textarea')
textarea.value = text
document.body.appendChild(textarea)
textarea.select()
document.execCommand('copy')
document.body.removeChild(textarea)
message.success('复制成功')
} catch (error) {
message.error('复制失败')
}
}
}
/** 删除按钮操作 */