【问题标题】:HTML5 session storage on restore browser session in Firefox在 Firefox 中恢复浏览器会话时的 HTML5 会话存储
【发布时间】:2012-08-31 17:48:54
【问题描述】:

当我在 Firefox 中的当前站点上使用会话存储时,我看到了奇怪的行为。

当用户导航到站点时,会话存储值设置如下:

sessionStorage.setItem(cacheKey, cacheValue);

然后我会检查会话密钥是否在站点的后续页面上具有特定值。如果是,那么我运行一个函数,如果不是,那么不要。

但是,如果用户在 Firefox 中打开了“恢复会话”功能,浏览器似乎会存储会话密钥而不是值(空字符串)。我对随后失败的值进行检查,因为该值现在为 null 或空字符串。

是否有更强大的方法来处理这种行为?

【问题讨论】:

  • 不确定在这种情况下 sessionStorage 所需的功能是什么,但如果值为 nullundefined,我可能会将其视为新会话

标签: html session firefox storage


【解决方案1】:

对于这样的意外行为,如果“恢复”的会话没有保留值,我会将其视为新会话。

对值进行简单的空检查就足够了。

if (window.sessionStorage.getItem(cacheKey) === null) {
    sessionStorage.setItem(cacheKey, cacheValue);
}

我觉得如果将来保留该值,您可能希望保留现有值。

【讨论】:

    猜你喜欢
    • 2017-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-25
    • 1970-01-01
    • 2018-10-25
    • 2016-08-31
    相关资源
    最近更新 更多