我特别遇到了 Firefox 的问题(我使用的是 61.0.1 版(64 位)),在退出页面上向下滚动的视频元素的全屏时,它会导致 body 的 scrollTop 返回到不正确的位置。
要测试的示例代码如下(...
导致页面变长的多个元素在哪里):
<p>1</p>
<p>2</p>
<p>3</p>
...
<p>7</p>
<p>8</p>
<p>9</p>
<p><video src="https://www.w3schools.com/htmL/mov_bbb.mp4" type="video/mp4" loop="loop" controls></video></p>
<p>10</p>
<p>11</p>
<p>12</p>
...
<p>19</p>
<p>20</p>
<p>21</p>
<p><video src="https://www.w3schools.com/htmL/mov_bbb.mp4" type="video/mp4" loop="loop" controls></video></p>
小提琴示例:https ://jsfiddle.net/webbm/p8ws3yc9/
在我的示例中,我尝试将 HTML 保留为一些非常基本的元素,以免引入 CSS 相关问题。
在上面的例子中:
- 退出第一个视频的全屏后,主体的 scrollTop 位于正确的位置。
- 退出第二个视频的全屏后,主体的 scrollTop 向上移动。
- 即使只有第二个视频元素,这种行为仍然会发生,所以我认为这与存在多个视频元素无关。
这是解决方法的已知问题吗?