将IFrame滚动到顶部在Chrome中不起作用

Scroll IFrame to Top does not work in Chrome

本文关键字:Chrome 不起作用 顶部 IFrame 滚动      更新时间:2023-09-26

点击一个元素时,用户可以打开一个覆盖整个窗口的模式窗口div——其内容高度约为100px,窗口的其余部分将被涂黑。由于其他原因,这个覆盖div必须与top:3rem完全定位。

在可访问性方面,在打开模式窗口时,我将焦点设置为覆盖div,因此像VoiceOver这样的ScreenReaders知道在哪里继续——浏览器会将其视口跳到顶部,例如跳到覆盖窗口。

这在桌面和移动设备的所有浏览器中都能完美工作,在单独使用网站时也能与所有屏幕阅读器等配合使用。所有浏览器视口都会跳到顶部,以充分显示覆盖div。

但是,如果我通过IFrame将网站包含到另一个网站中,这个«视口跳转到覆盖div»在除桌面和安卓上的谷歌Chrome之外的所有浏览器中都可以工作。:-/有趣的是,scrollTop()也不起作用。Chrome只是停留在原来的位置,我必须手动向上滚动才能看到overlay-div。

知道如何强制iframe(或父窗口)滚动到顶部(或从顶部定义的px)吗?

我已经用JS手动滚动到onClick来修复它。

Chrome中的漏洞——我已经报告过了。