【发布时间】:2018-10-28 03:11:49
【问题描述】:
我不明白 sessionStorage 是如何工作的。我希望仅在初始页面加载时发生事件。
我正在(尝试)通过检查会话是否是新的来做到这一点。思路如下:
$(function() {
sessionStorage.setItem('isNewSession', 'true');
if (sessionStorage.getItem("isNewSession")) {
// do stuff on the first page load
} else {
// don't do it after
}
});
所以当页面第一次加载时,看起来sessionStorage 被设置为true。之后,在用户访问页面期间,我只想发生一次的事情总是发生,因为我可以看到sessionStorage总是true。
如果我将其设置为 false,如果 sessionStorage 返回 true,那么显然我想要发生的事情就不会发生。
我调查了session cookie,但这在整个用户访问期间仍然存在,而不仅仅是第一次加载。
我该如何处理?如何让事件仅在初始页面加载时触发,而在剩余用户访问期间不?
上下文:“事件”是导航栏中的动画。
【问题讨论】:
-
当动画结束时 sessionStorage.setItem('isNewSession', 'false'); ?也许我不明白这个问题。
-
@Emeeus 否,因为它被设置为 false,并且动画无法运行...
-
“我希望仅在初始页面加载时发生事件” 我假设每个用户只发生一次,对吗?因为如果不是,则没有必要使用 sessionStorage ,因为 $(whatever).ready() 完成了任务。
标签: javascript jquery session