From c1c1ecbc0e2227f46a1cb59178b5e6c3433e84e5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B4=A4=E5=BF=83?= <3277200+sentsim@users.noreply.github.com> Date: Tue, 29 Aug 2023 10:32:53 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=20code=20=E5=A4=8D=E5=88=B6?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E7=BB=86=E8=8A=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/modules/code.js | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/src/modules/code.js b/src/modules/code.js index c1e01996..98adba03 100644 --- a/src/modules/code.js +++ b/src/modules/code.js @@ -104,27 +104,27 @@ layui.define(['lay', 'util', 'element', 'form'], function(exports){ className: 'file-b', title: ['复制代码'], event: function(el, type){ - typeof options.onCopy === 'function' ? options.onCopy(finalCode) : function(){ + var text = util.unescape(finalCode); + try { + navigator.clipboard.writeText(text).then(function(){ + layer.msg('已复制', {icon: 1}); + }); + } catch(e) { + var textarea = document.createElement('textarea'); + textarea.value = text; + textarea.style.position = 'absolute'; + textarea.style.opacity = '0'; + document.body.appendChild(textarea); + textarea.select(); try { - navigator.clipboard.writeText(util.unescape(finalCode)).then(function(){ - layer.msg('已复制', { - icon: 1 - }); - }); - } catch(e) { - var text = document.createElement("textarea"); - text.setAttribute("readonly", "readonly"); - text.value = util.unescape(finalCode); - document.body.appendChild(text); - text.select(); - if (document.execCommand("copy")){ - layer.msg('已复制', {icon: 1}); - }else { - layer.msg('复制失败', {icon: 2}); - } - document.body.removeChild(text); + document.execCommand('copy'); + layer.msg('已复制', {icon: 1}); + } catch(err) { + layer.msg('复制失败', {icon: 2}); } - }(); + textarea.remove(); + } + typeof options.onCopy === 'function' && options.onCopy(text); } } };