From 6b047ca509d5dc10ebff8d61760792a937d5358d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9E=AB=E8=B0=B7=E5=89=91=E4=BB=99?= Date: Thu, 15 Aug 2024 02:05:18 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=86=E5=A4=8D=E5=88=B6=E5=89=AA=E8=B4=B4?= =?UTF-8?q?=E6=9D=BF=E5=87=BD=E6=95=B0=E4=BF=AE=E6=94=B9=E4=B8=BA=E6=83=B0?= =?UTF-8?q?=E6=80=A7=E5=87=BD=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- script.js | 26 +++++++++++++++----------- 1 file changed, 15 insertions(+), 11 deletions(-) diff --git a/script.js b/script.js index 76126857..73909cc1 100644 --- a/script.js +++ b/script.js @@ -4276,17 +4276,21 @@ function initialize() { return args.every(arg=>cardTags.some(str=>str.includes(arg))); }); } - function copyString(input) - { - input.focus(); //设input为焦点 - input.select(); //选择全部 - if (navigator?.clipboard?.writeText) { //优先使用新API - navigator.clipboard.writeText(input.value); + const copyInputString = (function () { //惰性函数,根据浏览器支持情况只判断一次 + if (navigator.clipboard) { //优先使用新API + return (input)=>{ + input.focus(); //设input为焦点 + input.select(); //选择全部 + navigator.clipboard.writeText(input.value); + } } else { - document.execCommand('copy'); + return (input)=>{ + input.focus(); //设input为焦点 + input.select(); //选择全部 + document.execCommand('copy'); + } } - //input.blur(); //取消焦点 - } + })(); stringSearchDialog.initialing = function(originalStrArr = [], additionalStrArr = []) { //清除空字符串 originalStrArr = originalStrArr.filter(Boolean); @@ -4294,7 +4298,7 @@ function initialize() { const stringSearchContent = this.querySelector(".dialog-content"); const fragment = document.createDocumentFragment(); function copyLeft() { - copyString(this.parentElement.querySelector(".string-value")); + copyInputString(this.parentElement.querySelector(".string-value")); } function searchLeft() { const oStr = this.parentElement.querySelector(".string-value")?.value; @@ -4910,7 +4914,7 @@ function initialize() { modal ? this.showModal() : this.show(); } showAnyStringDialog.querySelector('.string-copy').onclick = function(){ - copyString(showAnyStringDialogText); + copyInputString(showAnyStringDialogText); } function returnCheckedInput(ipt) {