Javascript 方法存储数据,直到关闭浏览器

Javascript 方法存储数据,直到关闭浏览器,javascript,session,Javascript,Session,是否有任何方法(使用JavaScript)在关闭浏览器之前存储会话?我想使用会话cookie-当未设置expires时,cookie应该在浏览器关闭时过期。但对于任何实际用途来说,这都是不可用的,因为Firefox带有“显示上次的窗口和选项卡”选项,即使在浏览器关闭后也不会清除会话cookie 我也不能使用onunload或onbeforeunload,因为我需要记住数据,直到浏览器关闭,即使用户重新加载或转到其他页面,然后返回。您可能对,localStorage鲜为人知的近亲感兴趣。它应该完全

是否有任何方法(使用JavaScript)在关闭浏览器之前存储会话?我想使用会话cookie-当未设置expires时,cookie应该在浏览器关闭时过期。但对于任何实际用途来说,这都是不可用的,因为Firefox带有“显示上次的窗口和选项卡”选项,即使在浏览器关闭后也不会清除会话cookie


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

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

如果浏览器不关闭会话,您就无法对其进行任何操作。我作为用户,会话不会过期。不幸的是,问题的关键在于Firefox对会话cookie的处理。也就是说,除非显示我的窗口和标签是当前Firefox的默认选项,也许你应该认为这是一个边缘情况?最后,当然,这取决于你的最终用户是谁。这是有价值的信息,但我想知道浏览器是否以处理cookies的方式控制sessionStorage对象的生命周期,这将导致OP试图解决的问题。@Pointy:“页面会话的持续时间与浏览器打开的时间相同,并且在页面重新加载和恢复过程中仍然有效。在新选项卡或窗口中打开页面将导致启动新会话。“似乎操作应该适合
sessionStorage
。但我不能肯定。我同意它应该可以工作,但(例如)Firefox在“浏览器会话”方面非常松散“这意味着,在崩溃后恢复东西的能力。谢谢-问题是当多个标签的Firefox关闭并重新打开时,它仍然记得会话。我会认为这种行为是个bug,但显然Mozilla的人希望火狐能够这样做。如果有人知道解决方法,请告诉我。