From c4e334acc869319e98bbeb72213c0bc65d162250 Mon Sep 17 00:00:00 2001 From: ln1778 <465410291@qq.com> Date: Wed, 4 Sep 2024 16:08:25 +0800 Subject: [PATCH] 33 --- commont.js | 53 +++++++++++++++++++++++++++++++++++++++------------- package.json | 2 +- 2 files changed, 41 insertions(+), 14 deletions(-) diff --git a/commont.js b/commont.js index b933caa..08914c0 100644 --- a/commont.js +++ b/commont.js @@ -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('复制成功'); + } }); } diff --git a/package.json b/package.json index 76c1412..002ebe5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "erp-element-ui", - "version": "1.0.52", + "version": "1.0.53", "description": "", "main": "index.js", "scripts": {