【发布时间】:2021-12-17 16:54:46
【问题描述】:
我正在尝试区分页面刷新、浏览器关闭和新标签事件。
所以,我想在页面关闭 V/s 页面刷新/新标签时进行一些处理
我遇到了以下使用 sessionStorage 的解决方法。但是 sessionStorage 的问题是它被重置或即使在新选项卡中打开链接时也不会被读取。但我希望页面刷新/新选项卡的行为方式与页面刷新方式相同。
if (sessionStorage.getItem('reloaded') != null) {
console.log('page was reloaded');
} else {
console.log('page was not reloaded');
}
sessionStorage.setItem('reloaded', 'yes');
【问题讨论】:
-
你能解释一下你想要达到的目标吗?这太笼统了。简而言之,您可以使用
sessionStorage跟踪页面刷新,仅当它在标签关闭时被清除。您可以将此数据与localStorage同步以处理其他状态,但实际上取决于您到底要做什么。提供更多背景信息。 -
我希望在页面刷新/新标签页上保留一些 JS 状态,但在页面关闭时删除
-
“页面关闭”是指标签页关闭吗?否则,请通过“页面关闭”来定义您所理解的内容。
-
是的,关闭既是页面关闭又是标签关闭...
标签: javascript local-storage session-storage