0

我有一个包含 6-7 个标签的应用程序。我想要的是,每当我关闭浏览器并再次打开它时,应该保留页面数据,即应该保持页面的状态。现在在我的页面中,我有数以千计的值,例如几棵树、文本框和复选框等。因此,将所有这些值一一存储在 cookie 中并不是一个好主意。

我用谷歌搜索了很多,但我没有找到任何方法来做到这一点。谁能帮我找到解决方案?

4

2 回答 2

1

我怀疑你在一个页面上有数千个独特的值——这意味着一个非常糟糕的设计。

更有可能的是,您有一个树,每次用户访问此页面时都会显示相同的值(即某种项目的列表),以及对应于特定数据对象(例如产品)的各种输入元素。在这种情况下,这个页面的整个状态可以总结成这样:

myWebSite/?#OrderForm:user=123&category=5&product=xyz&size=large

当用户重新加载此页面(或稍后返回)时,您的应用程序可以解析此 URL 令牌,它会确切知道要向用户显示什么:显示 OrderForm 及其所有面板、复选框等,加载并用类别和产品填充树,将类别 5 设置为在菜单中选择,将产品 xyz 设置为产品树中的选定项目,在详细信息面板中显示此产品的详细信息,并在尺寸列表框中选择大尺寸。

当然,这只是一个示例,但是通过适当的应用程序设计,应用程序中的任何“页面”都可以用几个参数和很少(通常是一个)数据对象来描述。然后您可以将此状态存储在 URL 令牌中、cookie 中、服务器会话中或持久保存在数据库中 - 根据您的要求,您有很多选择。

于 2012-12-28T09:57:09.533 回答
1

没有神奇的解决方案。

您可能会沿着以下路线探索 -

Server Side approach - Activities and Places with Asyc calls to get the last stored values.

Client Side approach - Activities and Places with HTML5 local storage. 

两者都不会很容易与您希望看到的那种缓存功能一起使用。

于 2012-12-28T05:06:41.877 回答