簡體   English   中英

如何將段落的特定部分復制到剪貼板?

[英]How can I copy to clipboard specific part of paragraph?

我想制作該方法,或僅將段落的“語法”部分復制到剪貼板。 我已經完成了獲取所需內容的特定部分的邏輯,並將其存儲在變量“ syntaxClean”中。 現在,我只需要以某種方式復制它。

document.execCommand(“ copy”); 會很棒,但是我似乎無法使它正常工作。

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Test</title> </head> <body> <pre id="test"></pre> <script> const message = "====== Executor details =======\\nathena@21.109.21.25 (tunneled:39516)\\n====== Request details ========\\nClass....................: com.ericsson.athena.taf.os.linux.commands.common.SimpleCmdRequest\\nThread : ................: main\\nExpected prompt..........: ^((?![&lt;?]|\\\\\\\\.{3}|(\\\\\\\\S+\\\\\\\\s){6,}).)*[&gt;#$%]+(\\\\\\\\\\\\\\\\\\\\\\\[(\\\\\\\\d;?)*[m|n|K])*\\\\\\\\s(\\\\\\\\\\\\\\\\\\\\\\\[(\\\\\\\\d;?)*[m|n|K])*$|#\\\\\\\\s\\\\\\\\\\\\\\\[6n\\nPrompt forced............: false\\nTimeout..................: 20000ms\\nSyntax...................: lsb_release -i\\n" document.getElementById("test").append(message); var res = message.split("\\n"); for (var i in res) { if (res[i].indexOf("Syntax") != -1) { var syntax = res[i].split(':'); var syntaxClean = syntax[1].slice(1); console.log(syntaxClean); } } </script> </body> </html> 

在這個示例中,我想復制到剪貼板“ lsb_release -i”,並將其存儲在變量syntaxClean中,如上所述。

任何幫助表示贊賞!

您可以通過創建一個偽文本區域來實現此目的,如下所示:

 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Test</title> </head> <body> <pre id="test"></pre> <button onclick="copy()">Copy</button> <script> const message = "====== Executor details =======\\nathena@21.109.21.25 (tunneled:39516)\\n====== Request details ========\\nClass....................: com.ericsson.athena.taf.os.linux.commands.common.SimpleCmdRequest\\nThread : ................: main\\nExpected prompt..........: ^((?![&lt;?]|\\\\\\\\.{3}|(\\\\\\\\S+\\\\\\\\s){6,}).)*[&gt;#$%]+(\\\\\\\\\\\\\\\\\\\\\\\[(\\\\\\\\d;?)*[m|n|K])*\\\\\\\\s(\\\\\\\\\\\\\\\\\\\\\\\[(\\\\\\\\d;?)*[m|n|K])*$|#\\\\\\\\s\\\\\\\\\\\\\\\[6n\\nPrompt forced............: false\\nTimeout..................: 20000ms\\nSyntax...................: lsb_release -i\\n" document.getElementById("test").append(message); function copy() { var res = message.split("\\n"); for (var i in res) { if (res[i].indexOf("Syntax") != -1) { var syntax = res[i].split(':'); var syntaxClean = syntax[1].slice(1); console.log(syntaxClean); copyToClipboard(syntaxClean); } } } function copyToClipboard(text) { var dummyElm = document.createElement("textarea"); document.body.appendChild(dummyElm); dummyElm.value = text; dummyElm.select(); document.execCommand("copy"); document.body.removeChild(dummyElm); } </script> </body> </html> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM