【发布时间】:2010-12-03 11:18:09
【问题描述】:
我说的是列表页面,其中我使用了许多过滤器。实际上,这些过滤器在用户控件中并且是 ajaxified。我可以在应用 4-5 个过滤器后缓存页面的状态,这样如果我在应用这些过滤器后移动到另一个页面,然后按返回按钮返回到原始页面,我会看到页面的相同过滤状态吗?应用任何过滤器后,我不会更改 url。这可以通过输出缓存来完成吗?
【问题讨论】:
我说的是列表页面,其中我使用了许多过滤器。实际上,这些过滤器在用户控件中并且是 ajaxified。我可以在应用 4-5 个过滤器后缓存页面的状态,这样如果我在应用这些过滤器后移动到另一个页面,然后按返回按钮返回到原始页面,我会看到页面的相同过滤状态吗?应用任何过滤器后,我不会更改 url。这可以通过输出缓存来完成吗?
【问题讨论】:
您所要求的实际上与缓存无关。好吧,确实如此,但不是我认为您正在谈论的那种缓存 :-) FireFox 具有所谓的bfcache,它存储页面 DOM 的状态,就像您离开该页面时一样.使用它是为了当您返回该页面时,它看起来与您上次在那里时的外观相同。
但是,某些事件会导致 bfcache 无法使用。例如,this question details how the unload event affects things。如果我是你,我会重新审视“应用任何过滤器后我不会更改 url”语句——我建议将页面状态存储在 docuemnt.location.hash 中。 Here's a question which details that concept
【讨论】: