javascript - 单击浏览器后退按钮时忽略滚动事件
问题描述
在我的网站中,列表页面加载表格行中的所有数据。当用户滚动到页面底部(无限滚动)时,它会继续加载。这工作正常。用户可以单击行中的链接并登陆子域的另一个页面。当用户单击返回按钮以列出页面时,它会触发滚动事件并加载数据。有时滚动事件触发了几次(比如发生 3 到 5 个 api 调用)
网站是用 Vuejs 构建的。我尝试了一些建议window.onpopstate
,例如 vuejs 的导航守卫。window.onpopstate
不起作用。VuejsbeforeRouteEnter
没有帮助。因为即使在 中捕获标志之前beforeRouteEnter
,滚动事件也会触发。
有什么方法可以阻止后退按钮单击触发的滚动事件?
解决方案
这可能是您正在寻找的:
if ( 'scrollRestoration' in history ) {
history.scrollRestoration = 'manual';
}
推荐阅读
- amazon-web-services - 如何使用数据源通过 terraform 找出 AWS 负载均衡器的 ARN?
- neo4j - 如何在 Neo4j 的 apoc.cypher.mapParallel 片段中使用 MERGE?
- node.js - 获取 API 和 Node Js
- r - 在 R 中使用 Count 可透视
- javascript - React,redux 状态依赖于其他 redux 状态
- sql - 查询为每个级别的父级生成新列
- css - div innerHTML 内 PWA 应用程序上 iPad 上的故障文本
- ffmpeg - ffmpeg IP 摄像机无法录制
- python - 在 Python 中多线程处理相同的 API 请求
- java - 有没有办法制作一个数组列表,它在彼此之间混合所有它的组件,而不是在需要时重复所述组件