This commit is contained in:
ln1778 2024-09-04 16:08:25 +08:00
parent bc39741f74
commit c4e334acc8
2 changed files with 41 additions and 14 deletions

View File

@ -542,23 +542,50 @@ function promiseAllWithErrors(promises) {
});
}
function copyTextToClipboard(text) {
// 创建一个临时的textarea元素
const textarea = document.createElement("textarea");
// 将文本设置为textarea的值
textarea.value = text;
// 将textarea添加到body中
document.body.appendChild(textarea);
// 选中textarea的文本
textarea.select();
try {
// 尝试复制
const successful = document.execCommand('copy');
const msg = successful ? 'successful' : 'unsuccessful';
console.log('Copying text command was ' + msg);
} catch (err) {
console.error('Oops, unable to copy', err);
}
// 最后移除textarea
document.body.removeChild(textarea);
}
function onCopy(textToCopy){
return new Promise((r,j)=>{
// 使用 navigator.clipboard.writeText 方法(如果可用)
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(textToCopy).then(function() {
console.log('文本已成功复制到剪贴板');
try{
if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(textToCopy).then(function() {
console.log('文本已成功复制到剪贴板');
r('复制成功');
}).catch(function(err) {
j('无法复制文本: ', err);
// 此处处理复制失败的情况
console.error('无法复制文本: ', err);
});
} else {
copyTextToClipboard(textToCopy);
r('复制成功');
}).catch(function(err) {
j('无法复制文本: ', err);
// 此处处理复制失败的情况
console.error('无法复制文本: ', err);
});
} else {
j('你的浏览器不支持 Clipboard API');
// 对于不支持 Clipboard API 的浏览器,你可以回退到其他方法,如使用 Flash 或第三方库
console.error('你的浏览器不支持 Clipboard API');
}
// 对于不支持 Clipboard API 的浏览器,你可以回退到其他方法,如使用 Flash 或第三方库
console.error('你的浏览器不支持 Clipboard API');
}
}catch(err){
copyTextToClipboard(textToCopy);
r('复制成功');
}
});
}

View File

@ -1,6 +1,6 @@
{
"name": "erp-element-ui",
"version": "1.0.52",
"version": "1.0.53",
"description": "",
"main": "index.js",
"scripts": {