单击浏览器后退按钮时忽略滚动事件

时间:2020-02-27 04:14:18

标签: javascript browser vuejs2

在我的网站中,列表页面将所有数据加载到表行中。当用户滚动到页面底部(无限滚动)时,它将保持加载状态。这很好。用户可以单击行中的链接,然后进入子域的另一页。当用户单击后退按钮进入列表页面时,它会触发滚动事件并加载数据。有时滚动事件触发了几次(例如发生3到5个api调用)

Site是使用Vuejs构建的。我尝试过很少的建议,例如window.onpopstate,vuejs的导航卫士。 window.onpopstate不起作用。 Vuejs的beforeRouteEnter无济于事。因为甚至在beforeRouteEnter中捕获一个标志之前,滚动事件都会触发。

有什么方法可以阻止通过单击后退按钮触发滚动事件吗?

1 个答案:

答案 0 :(得分:0)

这可能就是您要找的:

if ( 'scrollRestoration' in history ) {
  history.scrollRestoration = 'manual';
}