单击后退按钮时如何避免ajax重新加载

时间:2012-01-31 23:47:04

标签: javascript html ajax

我有一个使用Ajax生成结果列表的页面。然后有一个链接点击到另一个详细信息页面。当我在详细页面时,单击后退按钮。结果列表页面将再次重新加载。无论如何都要停止ajax重新加载并缓存结果。无论如何也要缓存这个位置。

谢谢你的帮助

4 个答案:

答案 0 :(得分:2)

我收到了一些关于AJAX /后退按钮管理的书签

https://github.com/browserstate/history.js

https://github.com/tkyk/jquery-history-plugin

关于第二个问题,如果您的浏览器支持本地数据库,您可以在那里缓存结果。以下项目提供跨浏览器的统一API。

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

https://github.com/alexmng/sticky

位置也可以存储在localDB中。

答案 1 :(得分:0)

您可以通过更改window.location.hash属性来保存状态。哈希是您可以更改的URL的唯一部分,而不是强制重新加载URL。

window.location.hash = 'some-id';将转换为您的网址,如下所示:index.html#some-id

然后,您可以在页面加载时获取哈希并将UI设置为正确的状态:

if (window.location.hash == 'some-id') {
    //setup UI for `some-id` identifier
}

答案 2 :(得分:0)

https://developer.mozilla.org/en/DOM/Storage

使用某种时间戳存储您的数据。检查您是否存储了数据,并且它不是您想要的数据。如果它更旧,则获取新数据。如果不使用存储的数据。

(这不是特定的mozilla)

http://caniuse.com/#search=local%20storage

答案 3 :(得分:0)

您可以使用新的HTML5 LocalStorage系统来构建缓存。这是一个链接:http://playground.html5rocks.com/#localstorage