在浏览器刷新时保存 XHR 渲染状态
Posted
技术标签:
【中文标题】在浏览器刷新时保存 XHR 渲染状态【英文标题】:Save XHR rendered state upon browser refresh 【发布时间】:2012-08-21 09:38:53 【问题描述】:我有一个 php 页面,其中包含 Home、About Us、Profile 等菜单。现在在主页上,如果单击“About Us”链接,该页面不会重新加载,而是“About Us”的 Ajax 响应显示在一个主分区。但是如果用户现在重新加载窗口,主页的信息就会显示出来,但我想在主 div 中保留“关于我们”的信息,就像页面重新加载之前一样。提前致谢...
【问题讨论】:
【参考方案1】:您需要执行一些操作,例如向 url 添加哈希,以便重新呈现页面的正确状态。
点赞#!/About-us
在你的代码中检查你是否有一个哈希值,如果是,则进行正确的渲染。 Here 是这个技术的一个非常幼稚的实现。我强烈建议您查看其中的众多优秀框架。
html:
<a href="#!/About-us">About us</a>
function renderAbout()
alert("render about");
var hash = window.location.hash;
if (hash === "#!/About-us")
renderAbout();
demo
有很多框架可以帮助您实现这一目标:
cros-s-roads.jsFinch.jsDavid.jsjQuery BBQ
Here 是关于它们的 *** 讨论。
而here 是关于为什么#!/About-us
而不仅仅是#About-us
的讨论
【讨论】:
谢谢你....但请您提供示例代码,我将不胜感激 @GitanjalBhattacharjya 我刚刚更新了一个幼稚的实现。 非常感谢您提供的资源。作为一个新手,我可能需要一点时间才能正确掌握它......我可能再次需要你的帮助...... 那些框架有点大。他们可能对你来说太过分了。您可以直接使用我向您展示的技术。 感谢您的帮助...我已经使用 Jquery BBQ 解决了这个问题以上是关于在浏览器刷新时保存 XHR 渲染状态的主要内容,如果未能解决你的问题,请参考以下文章