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,9 +542,31 @@ 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){ function onCopy(textToCopy){
return new Promise((r,j)=>{ return new Promise((r,j)=>{
// 使用 navigator.clipboard.writeText 方法(如果可用) // 使用 navigator.clipboard.writeText 方法(如果可用)
try{
if (navigator.clipboard && navigator.clipboard.writeText) { if (navigator.clipboard && navigator.clipboard.writeText) {
navigator.clipboard.writeText(textToCopy).then(function() { navigator.clipboard.writeText(textToCopy).then(function() {
console.log('文本已成功复制到剪贴板'); console.log('文本已成功复制到剪贴板');
@ -555,10 +577,15 @@ function onCopy(textToCopy){
console.error('无法复制文本: ', err); console.error('无法复制文本: ', err);
}); });
} else { } else {
j('你的浏览器不支持 Clipboard API'); copyTextToClipboard(textToCopy);
r('复制成功');
// 对于不支持 Clipboard API 的浏览器,你可以回退到其他方法,如使用 Flash 或第三方库 // 对于不支持 Clipboard API 的浏览器,你可以回退到其他方法,如使用 Flash 或第三方库
console.error('你的浏览器不支持 Clipboard API'); console.error('你的浏览器不支持 Clipboard API');
} }
}catch(err){
copyTextToClipboard(textToCopy);
r('复制成功');
}
}); });
} }

View File

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