您是否曾有过这样的经历:访问某个网页后开始阅读部分内容,结果页面因加载广告或图片而突然跳出,导致您在该网页上的位置消失了?
不妨试试 Chrome 51 中的滚动锚定标志。
滚动锚定功能可跟踪您在网页上的位置,并防止任何导致重排的内容破坏您在网页上的位置。
如需亲自试用此功能,请执行以下操作:
- 在 Chrome 开发者版/Canary 版中前往 chrome://flags/#enable-scroll-anchoring
- 从下拉菜单中选择“已启用”
- 点击屏幕底部的“立即重新启动”
这样,您就可以启用滚动锚定了
我们使用该功能已有一段时间,我们相信这样可以极大地改善所有用户的上网体验,但我们希望确保它在任何环境中都能正常运行。如果您发现滚动锚定功能无法处理网页上的重排的示例,或本不该干预滚动锚定功能的示例,我们非常希望了解相关信息!
如果您遇到意外行为,请填写此表单,向我们发送反馈 / 示例:g.co/reportbadreflow
常见问题解答
此变更对 JavaScript 滚动有何影响?
简而言之,不需要。
此更改会改变由自动重排引起的滚动效果。例如,为元素添加类名称会导致其高度增加,将导致自动重排,而滚动锚定将阻止页面跳动。
调用 window.scrollTo(0, 1)
(是的老式黑客行为)不会导致自动重排,并且会正常运行。对于触摸事件也是如此。
如果您发现了滚动锚定影响网页的示例,请通过以下表单发送反馈:g.co/reportbadreflow