如何保持在动态DOM操作后,浏览器历史记录DOM状态?(How do I preserve dom

2019-08-18 10:20发布

是否有保留的DOM状态,因此当通过前进/后退用户返回一个页面时,整个页面的确切状态,他们离开了一个通用的解决方案吗?

这个帖子问和回答为什么行为与不同浏览器和JavaScript库不一致...

阿贾克斯,返回键和DOM更新

...但我很好奇,如果任何人有这个问题,不需要重新加载页面的通用解决方案。

Answer 1:

恐怕不是,真的不能,因为我们谈论的浏览器的行为是完全自由支配,而不是标准的定义。 你可以使用Ajax积极相关DOM状态到服务器上的会话同步,始终从页面载荷状态恢复,但将保持最近的状态该页面,而不是必然是存在于规定所要求的状态点浏览器历史记录。



Answer 2:

您可以使用此快取清除技术,轨道,使其在现代浏览器中工作(铬,IE8 +,FF 3.5+)。 这个工作对我对我的最后一个项目的时候,我们已经AJAX更新DOM,不得不向后导航,并具备AJAX更新持续。

response.headers["Cache-Control"] = "no-cache, no-store, max-age=0, must-revalidate"
response.headers["Pragma"] = "no-cache"
response.headers["Expires"] = "Fri, 01 Jan 1990 00:00:00 GMT"


文章来源: How do I preserve dom state in the browser history after dynamic dom manipulation?