From ddecbe36283bf7be2634ab1f83abaff0ac9f791e Mon Sep 17 00:00:00 2001 From: Mimi <1119186082@qq.com> Date: Mon, 13 May 2024 13:46:20 +0800 Subject: [PATCH] Fix empty innerText --- source/js/third-party/tags/mermaid.js | 2 +- source/js/utils.js | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/source/js/third-party/tags/mermaid.js b/source/js/third-party/tags/mermaid.js index 06443dfd1..e41efe41f 100644 --- a/source/js/third-party/tags/mermaid.js +++ b/source/js/third-party/tags/mermaid.js @@ -14,7 +14,7 @@ document.addEventListener('page:loaded', () => { newElement.className = 'mermaid'; box.appendChild(newElement); if (CONFIG.copycode.enable) { - NexT.utils.registerCopyButton(box, box, element.innerText); + NexT.utils.registerCopyButton(box, box, element.textContent); } const parent = element.parentNode; parent.parentNode.replaceChild(box, parent); diff --git a/source/js/utils.js b/source/js/utils.js index ce45851d2..2bc2c8495 100644 --- a/source/js/utils.js +++ b/source/js/utils.js @@ -39,11 +39,15 @@ NexT.utils = { }); }, - registerCopyButton(target, element, code) { + registerCopyButton(target, element, code = '') { // One-click copy code support. target.insertAdjacentHTML('beforeend', '
'); const button = target.querySelector('.copy-btn'); button.addEventListener('click', () => { + if (!code) { + const lines = element.querySelector('.code') || element.querySelector('code'); + code = lines.innerText; + } if (navigator.clipboard) { // https://caniuse.com/mdn-api_clipboard_writetext navigator.clipboard.writeText(code).then(() => { @@ -131,8 +135,7 @@ NexT.utils = { }); } if (!inited && CONFIG.copycode.enable) { - const lines = element.querySelector('.code') || element.querySelector('code'); - this.registerCopyButton(target, element, lines.innerText); + this.registerCopyButton(target, element); } }); },