From ed279cf8a183e2002b7ff47e52895d42eddccb58 Mon Sep 17 00:00:00 2001 From: Gabe Date: Sun, 19 Oct 2025 01:28:29 +0800 Subject: [PATCH] fix: highlight fav words --- src/libs/translator.js | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/src/libs/translator.js b/src/libs/translator.js index ab89681..dc599dc 100644 --- a/src/libs/translator.js +++ b/src/libs/translator.js @@ -1068,9 +1068,7 @@ export class Translator { // 清除高亮 #removeHighlights(parentNode) { - if (!parentNode) { - return; - } + if (!parentNode) return; const highlightedElements = parentNode.querySelectorAll( `.${Translator.KISS_CLASS.highlight}` @@ -1084,6 +1082,17 @@ export class Translator { parentNode.normalize(); } + // 移除br + #removeBrTags(parentNode) { + if (!parentNode) return; + + parentNode + .querySelectorAll(`.${Translator.KISS_CLASS.br}`) + .forEach((br) => br.remove()); + + parentNode.normalize(); + } + // 判断是否需要换行 #shouldBreak(node) { if (!Translator.isElementOrFragment(node)) return false; @@ -1421,10 +1430,6 @@ export class Translator { root .querySelectorAll(APP_LCNAME) .forEach((el) => this.#removeTranslationElement(el)); - - root - .querySelectorAll(Translator.KISS_CLASS.br) - .forEach((br) => br.remove()); } // 清理子节点译文dom @@ -1448,10 +1453,11 @@ export class Translator { this.#translationNodes.delete(el); el.remove(); - // 清除高亮 + // todo: 可能不应深度清除 if (this.#rule.highlightWords === OPT_HIGHLIGHT_WORDS_AFTERTRANS) { this.#removeHighlights(parentElement); } + this.#removeBrTags(parentElement); } // 恢复原文