Fix search with zoom #682 (#683)

This commit is contained in:
Jaifroid 2025-01-06 10:40:14 +00:00 committed by GitHub
parent b047f10b8f
commit 5949430279
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
/**
/**
* util.js : Utility functions
*
* Copyright 2013-2023 Mossroy, Jaifroid and contributors
@ -487,7 +487,13 @@ function Hilitor (node, tag) {
if (appstate.isReplayWorkerAvailable) {
iframeWindow = document.getElementById('articleContent').contentDocument.getElementById('replay_iframe').contentWindow;
}
var scrollOffset = hilitedNodes[start].offsetTop - window.innerHeight / 4;
var root = iframeWindow.document.documentElement;
var zoomFactor = 'zoom' in root.style && params.relativeFontSize && !window.MSBlobBuilder
? params.relativeFontSize / 100 : 1;
// Convert both the element position and viewport height to zoomed coordinates
var elementPosition = hilitedNodes[start].offsetTop * zoomFactor;
var viewportOffset = window.innerHeight / 4;
var scrollOffset = elementPosition - viewportOffset;
if ('scrollBehavior' in document.documentElement.style) {
iframeWindow.scrollTo({
top: scrollOffset,