diff --git a/app/src/asset/renderAssets.ts b/app/src/asset/renderAssets.ts index 0707f7f19..9fc77599d 100644 --- a/app/src/asset/renderAssets.ts +++ b/app/src/asset/renderAssets.ts @@ -32,6 +32,12 @@ export const pdfResize = () => { if (!pdfDocument) { return; } + const pdfViewerElement = item.element.querySelector("#viewerContainer") + if (pdfViewerElement) { + // https://github.com/siyuan-note/siyuan/issues/6890 + pdfViewerElement.scrollTo(0, parseInt(pdfViewerElement.getAttribute("data-scrolltop"))); + pdfViewerElement.removeAttribute("data-scrolltop") + } const currentScaleValue = pdfViewer.currentScaleValue; if ( currentScaleValue === "auto" || diff --git a/app/src/layout/Wnd.ts b/app/src/layout/Wnd.ts index 9d9d536be..bcf13174d 100644 --- a/app/src/layout/Wnd.ts +++ b/app/src/layout/Wnd.ts @@ -280,6 +280,13 @@ export class Wnd { const targetWnd = getInstanceById(targetWndElement.getAttribute("data-id")) as Wnd; const tabId = event.dataTransfer.getData(Constants.SIYUAN_DROP_TAB); const oldTab = getInstanceById(tabId) as Tab; + if (oldTab.model instanceof Asset) { + // https://github.com/siyuan-note/siyuan/issues/6890 + const pdfViewerElement = oldTab.model.element.querySelector("#viewerContainer") + if (pdfViewerElement) { + pdfViewerElement.setAttribute("data-scrolltop", pdfViewerElement.scrollTop.toString()) + } + } if (dragElement.style.height === "50%" || dragElement.style.width === "50%") { // split if (dragElement.style.height === "50%") {