0

我相信其他人以前也遇到过这个问题,但这让我很头疼。

我有一个生成产品列表的页面。这是一个很长的列表,因此可能会超过几页。我有 Back 和 Next 按钮来实现这一点,如果用户留在列表中,它们就会起作用。

当用户从列表中选择产品并导航到新页面以显示有关产品的更多详细信息时,就会出现此问题。当用户完成此页面并退出时,产品列表将重新显示在用户离开它的位置。

在 chrome 中,popstate 被触发,我必须调整下一个 popstate 所需的返回次数(由于我已经执行了 pushStates),以便让后退按钮转到正确的上一页。在 Firefox 中,页面正在从缓存中恢复,我没有机会拦截返回并进行必要的调整。

当从产品详细信息页面中选择后退按钮或退出按钮时,是否有某种方法可以强制 Firefox 清除缓存并触发弹出状态?

4

2 回答 2

0

我认为你需要一个window.onunload处理程序。请参阅https://developer.mozilla.org/en-US/docs/Using_Firefox_1.5_caching,其中谈到了 bfcache 的介绍。

于 2014-05-17T23:29:29.283 回答
0

我以前使用过这个 jQuery 代码,它可以跨平台工作:

$(window).bind('popstate', jQuery.proxy(function() {
    // your code here
}, this));

回调中的代码将在用户按下后退按钮时运行。

出于安全原因,强制 Firefox 清除其缓存并非易事。这是我发现可能有效的一个提示未经我测试)。但希望您可以使用此回调来做其他有用的事情,例如正确设置导航状态。

您或许可以在此处找到更多有用的信息。

于 2014-05-08T14:06:26.957 回答