使用本地存储在每个新会话上重置变量



我试图在跨多个页面的用户会话开始时只运行一次。

我试图使用sessionStorage来测试是否存在一个变量,该变量最初默认为false,但由于脚本中的JavaScript重定向,它在某些浏览器中无法持久存在:

window.location.href

有没有一种方法可以用本地存储来模拟这种情况,从而更可靠地保持?

即在每个新用户会话开始时只做一次某件事。会话可能有多个页面,因此单个javascript变量无法工作。

更新:根据评论中的要求,基本逻辑是:

  1. 新会话已打开
  2. 重定向一次到查看的最后一页
  3. 设置重定向为true。以防止这种情况再次发生

我意识到除了本地存储之外,还有其他方法可以做到这一点。如果可能的话,使用它会很好。

您可以检查该项是否已经存在,或者它是否为null:localStorage.getItem("itemname");

如果它不存在(==null(,则它是第一次"运行",因此您可以设置它以防止进一步的循环执行。使用:localStorage.setItem("itemname", "notNull");

最新更新