如何在导航到另一个页面但不刷新时清除sessionStorage?

时间:2016-12-29 12:34:35

标签: javascript html html5 session-storage sessionstorage

我的某个网页中有一些复选框,此页面必须每1分钟刷新一次,以解决一些数据一致性问题。

我正在使用window.sessionStoage来保留已经过检查的复选框,这样用户就不会丢失已在页面刷新时检查过的复选框。

但是,当用户离开该页面时,我想要清除sessionStorage不一定要离开我的网站,可能会转到同一网站上的另一个页面),以及同样,如果我使用onunload事件,那么在刷新的情况下也会清除存储空间。

是否有任何其他事件或任何解决方法可以帮助我实现这一目标。

2 个答案:

答案 0 :(得分:0)

对于您的特定案例窗口事件可以派上用场。因此,您可以对模糊和焦点事件做出反应,因此离开浏览器标签会导致blur事件。

$(window).blur(function(){
  //clear session
});

$(window).focus(function(){
  //maybe some code to re-init session data
});

答案 1 :(得分:0)

您是否可以尝试在会话存储中保存当前页面的路径/名称,并在页面的每个init上检查页面名称是否等于会话存储中的名称。如果没有,你可以清除它。