【问题标题】:Method to store data until browser is closed在浏览器关闭之前存储数据的方法
【发布时间】:2012-07-15 09:25:55
【问题描述】:

是否有任何方法(使用 JavaScript)如何在浏览器关闭之前存储会话?我想使用会话 cookie - 当 expires 未设置时,cookie 应该在浏览器关闭时过期。但出于任何实际目的,这是不可用的,因为带有 Show my windows and tabs from last time 选项的 Firefox 即使在浏览器关闭后也不会清除会话 cookie。

我也不能使用 onunloadonbeforeunload 因为我需要记住数据直到浏览器关闭,即使用户重新加载或转到其他页面然后返回.

【问题讨论】:

  • 如果浏览器没有关闭会话,你就不能对它做任何事情。
  • 我作为用户会话不会过期。
  • 不幸的是,这里问题的症结在于 Firefox 对会话 cookie 的处理。也就是说,除非 显示我的窗口和标签 是这些天 Firefox 的默认选项,否则也许您应该考虑这是一个边缘情况?最后,当然,这取决于您的最终用户是谁。

标签: javascript session


【解决方案1】:

您可能对sessionStoragelocalStorage 鲜为人知的表弟感兴趣。它应该完全满足您的需要——在会话中存储变量并在会话结束时清除它们。

【讨论】:

  • 这是有价值的信息,但我想知道浏览器是否以与处理 cookie 的方式完全相同的方式管理 sessionStorage 对象的生命周期,这将导致 OP 试图解决的相同问题。
  • @Pointy:“只要浏览器打开并在页面重新加载和恢复后仍然存在,页面会话就会持续。在新选项卡或窗口中打开页面将导致启动新会话。 " sessionStorage 似乎应该没问题。不过,我不能肯定地说。
  • 我同意它应该工作,但是(例如)Firefox 对于“浏览器会话”的含义非常松散,在崩溃后恢复的能力是什么。
  • 谢谢 - 问题是当 Firefox 关闭并重新打开多个选项卡时,它仍然记得会话。我认为这种行为是一个错误,但显然 Mozilla 人希望 Firefox 以这种方式行事。如果有人知道解决方法,请告诉我。
猜你喜欢
  • 1970-01-01
  • 2019-05-16
  • 1970-01-01
  • 2017-03-04
  • 2014-04-15
  • 1970-01-01
  • 1970-01-01
  • 2019-01-01
相关资源
最近更新 更多