实验时间 - 滚动锚定

Matt Gaunt

您是否曾有过这样的经历:访问某个网页后开始阅读部分内容,结果页面因加载广告或图片而突然跳出,导致您在该网页上的位置消失了?

不妨试试 Chrome 51 中的滚动锚定标志。

滚动锚定功能可跟踪您在网页上的位置,并防止任何导致重排的内容破坏您在网页上的位置。

如需亲自试用此功能,请执行以下操作:

  1. Chrome 开发者版/Canary 版中前往 chrome://flags/#enable-scroll-anchoring
  2. 从下拉菜单中选择“已启用”
  3. 点击屏幕底部的“立即重新启动

这样,您就可以启用滚动锚定了

我们使用该功能已有一段时间,我们相信这样可以极大地改善所有用户的上网体验,但我们希望确保它在任何环境中都能正常运行。如果您发现滚动锚定功能无法处理网页上的重排的示例,或本不该干预滚动锚定功能的示例,我们非常希望了解相关信息!

如果您遇到意外行为,请填写此表单,向我们发送反馈 / 示例:g.co/reportbadreflow

常见问题解答

此变更对 JavaScript 滚动有何影响?

简而言之,不需要。

此更改会改变由自动重排引起的滚动效果。例如,为元素添加类名称会导致其高度增加,将导致自动重排,而滚动锚定将阻止页面跳动。

调用 window.scrollTo(0, 1)(是的老式黑客行为)不会导致自动重排,并且会正常运行。对于触摸事件也是如此。

如果您发现了滚动锚定影响网页的示例,请通过以下表单发送反馈:g.co/reportbadreflow