Przeglądaj źródła

:bug: fix https://github.com/siyuan-note/siyuan/issues/6790

Vanessa 2 lat temu
rodzic
commit
9f463fec1e
1 zmienionych plików z 8 dodań i 4 usunięć
  1. 8 4
      app/src/protyle/markdown/highlightRender.ts

+ 8 - 4
app/src/protyle/markdown/highlightRender.ts

@@ -2,6 +2,7 @@ import {addScript} from "../util/addScript";
 import {Constants} from "../../constants";
 import {focusByOffset} from "../util/selection";
 import {setCodeTheme} from "../../util/assets";
+import {hasClosestByClassName} from "../util/hasClosest";
 
 export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN) => {
     let codeElements: NodeListOf<Element>;
@@ -98,10 +99,13 @@ export const highlightRender = (element: Element, cdn = Constants.PROTYLE_CDN) =
                         languageElement.style.marginLeft = "";
                     }
                 }
-                const matchElement = block.querySelector('span[data-type="search-mark"]');
-                if (matchElement) {
-                    // 搜索定位
-                    matchElement.scrollIntoView();
+                // 搜索定位
+                const layoutElement = hasClosestByClassName(block, "search__layout", true)
+                if (layoutElement && block.parentElement.getAttribute("data-node-id") === layoutElement.querySelector("#searchList > .b3-list-item--focus")?.getAttribute("data-node-id")) {
+                    const matchElement = block.querySelector('span[data-type="search-mark"]');
+                    if (matchElement) {
+                        matchElement.scrollIntoView();
+                    }
                 }
                 block.innerHTML = hljs.highlight(
                     block.textContent + (block.textContent.endsWith("\n") ? "" : "\n"), // https://github.com/siyuan-note/siyuan/issues/4609