如何防止浏览器在渲染时滚动到顶部
How do I prevent the browser from scrolling to the top on render
如何防止浏览器在渲染时滚动到顶部?这可以在 https://www.gatsbyjs.org/ or https://reactjs.org/ 重现,方法是使用受限网络连接访问该网站并在页面呈现之前向下滚动。
禁用 JS 时不会发生这种情况。我相信这是盖茨比唯一的问题。
这最终成为 Gatsby 中的一个错误,可以在 https://github.com/gatsbyjs/gatsby/issues/6392#issuecomment-404444341 进行跟踪。
解决此问题的一种方法是在安装组件之前禁用滚动,然后重新启用它。这可以通过以下样式更改来完成:
// styles.css
body {
overflow: hidden;
}
// Component.js
componentDidMount () {
document.body.style.overflow = 'auto'
}
如何防止浏览器在渲染时滚动到顶部?这可以在 https://www.gatsbyjs.org/ or https://reactjs.org/ 重现,方法是使用受限网络连接访问该网站并在页面呈现之前向下滚动。
禁用 JS 时不会发生这种情况。我相信这是盖茨比唯一的问题。
这最终成为 Gatsby 中的一个错误,可以在 https://github.com/gatsbyjs/gatsby/issues/6392#issuecomment-404444341 进行跟踪。
解决此问题的一种方法是在安装组件之前禁用滚动,然后重新启用它。这可以通过以下样式更改来完成:
// styles.css
body {
overflow: hidden;
}
// Component.js
componentDidMount () {
document.body.style.overflow = 'auto'
}