如何避免在点击后退按钮时进行Ajax重新加载

4
我有一个页面,使用Ajax生成结果列表。然后有一个链接可以点击到另一个详细页面。当我在详细页面,并点击返回按钮时,结果列表页会重新加载。是否有办法停止Ajax重新加载并缓存结果。还有没有办法缓存位置。
谢谢您的帮助。
4个回答

2

0
你可以通过更改 window.location.hash 属性来保存状态。哈希值是 URL 中唯一可以更改而不会强制重新加载的部分。 window.location.hash = 'some-id'; 将使你的 URL 看起来像这样:index.html#some-id
然后,你可以在页面加载时获取哈希值并将 UI 设置为适当的状态:
if (window.location.hash == 'some-id') {
    //setup UI for `some-id` identifier
}

1
我认为问题不在于重新加载URL,而是关于页面的Javascript状态能否被缓存并在用户返回该页面时恢复 - 这需要浏览器的支持,所以:浏览器是否支持它? - Jeff
是的,我应该在我的答案上放置一个通知,这不是一个直接的答案,而是一个可能被忽视的选项。我认为你可以使用cookie(或localStorage/sessionStorage)来存储信息,并根据URL检索信息。 - Jasper

0

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接