动态 dom 操作后,如何在浏览器历史记录中保留 dom 状态?
是否有一个通用的解决方案来保留 dom 状态,以便当用户使用后退/前进返回页面时,整个页面处于他们离开时的确切状态?
这篇文章询问并回答了为什么不同浏览器和不同 javascript 库的行为不一致...
...但我很好奇是否有人有一个不需要重新加载页面的通用解决方案来解决这个问题。
Is there a general purpose solution for preserving dom state so that when a user returns to a page by using back/forward, the whole page is in the exact state that they left it?
This post asks and answers why the behavior is inconsistent with different browsers and different javascript libraries...
Ajax, back button and DOM updates
...but I am curious if anyone has a general solution to this problem that doesn't require reloading the page.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(2)
小清晰的声音2024-08-14 16:53:06
您可以在 Rails 中使用这种缓存清除技术,使其在现代浏览器(chrome、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"
~没有更多了~
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
恐怕不存在,而且确实不可能存在,因为我们正在谈论完全自由裁量的浏览器行为,而不是标准定义的行为。您可以使用 Ajax 积极地将相关 DOM 状态同步到服务器上的会话,并始终在页面加载时从该状态恢复,但这将保留该页面的最新状态,而不是之前的状态。必然存在于浏览器历史记录中的给定所需点。
I'm afraid there isn't, and there really can't be because we're talking about browser behavior that's completely discretionary and not standards-defined. You could use Ajax to aggressively synchronize relevant DOM state to a session on a server, and always restore from that state on page load, but that will preserve the most recent state for that page, not the state that was necessarily present at a given desired point in the browser history.