From cd78aaa0fd316e5f2c9f9e8cb213aa30b96e2f34 Mon Sep 17 00:00:00 2001 From: Eoghan Murray Date: Wed, 1 Apr 2026 12:00:00 +0800 Subject: [PATCH] Fix for certain websites which don't scroll on their document.documentElement (#193) - document.documentElement.scrollTop may be zero, but document.body.scrollTop may have the actual scrolling amount - main fallback idea taken from https://developer.mozilla.org/en-US/docs/Web/API/Window/scrollX - modified as `(document.documentElement || document.body).scrollTop` will incorrectly report zero. - version here supported by https://github.com/mochi/mochikit/blob/master/MochiKit/Position.js#L23 --- src/record/index.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/record/index.ts b/src/record/index.ts index 19791ef0..8e9ee498 100644 --- a/src/record/index.ts +++ b/src/record/index.ts @@ -97,8 +97,20 @@ function record( data: { node, initialOffset: { - left: document.documentElement!.scrollLeft, - top: document.documentElement!.scrollTop, + left: (window.pageXOffset !== undefined) ? + window.pageXOffset : ( + document!.documentElement.scrollLeft || + document!.body!.parentNode.scrollLeft || + document!.body.scrollLeft || + 0 + ), + top: (window.pageYOffset !== undefined) ? + window.pageYOffset : ( + document!.documentElement.scrollTop || + document!.body!.parentNode.scrollTop || + document!.body.scrollTop || + 0 + ), }, }, }),