可以在浏览器会话中保留javascript对象吗?

时间:2011-02-24 18:37:34

标签: javascript firefox browser

是否存在任何解决方案,或者是否可以将当前状态的网页的所有Javascript对象保存或序列化为文件并在同一网页的新浏览器实例中恢复这些对象?

我有一个网页,其中包含各种Javascript对象,并想要一种方法来获取页面的“快照”,并在以后将页面恢复到完全相同的状态。我已经能够序列化和恢复页面的整个DOM树,但Javascript对象没有恢复,因此页面看起来正确但无法正常运行。

3 个答案:

答案 0 :(得分:3)

除了其他人提到的Cookie之外,您还可以尝试使用HTML5的localStorage。

这里还有一个存储抽象库,可以帮助您使用所有这些库,并负责跨浏览器支持:

https://github.com/marcuswestin/store.js

答案 1 :(得分:2)

您应该将所需的变量保存到对象,并使用JSON对其进行编码,然后将其保存到cookie中。要恢复它,只需从cookie中检索对象并使用JSON解析器。

答案 2 :(得分:0)

您可以使用JSON序列化对象,然后将它们存储在localStorage中。大多数浏览器都支持它,并且可以存储cookie的更多数据。也不会在每个请求标头中发送。请查看:https://github.com/johnhunter/netcache/localstore.js以获取实施示例。