【问题标题】:how to distinguish between window close and window refresh in angular using session-storage如何使用会话存储以角度区分窗口关闭和窗口刷新
【发布时间】:2019-11-11 20:08:19
【问题描述】:

Angular - 我试图弄清楚如何区分浏览器窗口关闭或引用。两个选项都触发了 window:unload 事件。我知道使用会话存储可能会完成这项工作。我从来没有使用过它 - 有人可以提供一个例子吗? 查看我当前的代码: 目前使用:

@HostListener('window:unload', [ '$event' ])
unloadHandler(event) {
 //That's triggered on both refresh and close browser window
 }

【问题讨论】:

标签: angular session-storage


【解决方案1】:

您确实可以使用会话存储。这里的技巧是,当标签页或窗口关闭时,会话存储被清除。

所以你可以做的是在页面加载时设置会话存储,如下所示:

if (!sessionStorage.getItem('isVisited')) {
  sessionStorage.setItem('isVisited', true);
} else {
  alert('Visited already');
}

上面的代码只会在你刷新时提醒。

【讨论】:

  • 那么 - 放置此代码的事件是什么?我的意思是 - 将它放在窗口中时:卸载 - sessionStorage 密钥仍然存在
  • 当你刷新它应该是。你想达到什么目的?卸载时它会在那里。
  • 我正在尝试检查此会话是否没有任何其他浏览器窗口 - 所以我可以清除会话,以便在打开下一个浏览器时 - 它不会被验证
  • 啊啊,好的。然后您需要在页面之间共享的本地存储。在卸载时,您应该删除该条目。
猜你喜欢
  • 2011-01-19
  • 1970-01-01
  • 2012-07-09
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 2023-03-07
相关资源
最近更新 更多