【发布时间】:2012-08-21 09:38:53
【问题描述】:
我有一个 php 页面,其中包含 Home、About Us、Profile 等菜单。现在在主页上,如果单击“About Us”链接,该页面不会重新加载,而是“About Us”的 Ajax 响应显示在一个主分区。但是如果用户现在重新加载窗口,主页的信息就会显示出来,但我想在主 div 中保留“关于我们”的信息,就像页面重新加载之前一样。提前致谢...
【问题讨论】:
标签: php javascript ajax
我有一个 php 页面,其中包含 Home、About Us、Profile 等菜单。现在在主页上,如果单击“About Us”链接,该页面不会重新加载,而是“About Us”的 Ajax 响应显示在一个主分区。但是如果用户现在重新加载窗口,主页的信息就会显示出来,但我想在主 div 中保留“关于我们”的信息,就像页面重新加载之前一样。提前致谢...
【问题讨论】:
标签: php javascript ajax
您需要执行一些操作,例如向 url 添加哈希,以便重新呈现页面的正确状态。
点赞#!/About-us
在你的代码中检查你是否有一个哈希值,如果是,则进行正确的渲染。 Here 是这个技术的一个非常幼稚的实现。我强烈建议您查看其中的众多优秀框架。
HTML:
<a href="#!/About-us">About us</a>
Javascript:
function renderAbout() {
alert("render about");
}
var hash = window.location.hash;
if (hash === "#!/About-us")
renderAbout();
有很多框架可以帮助您实现这一目标:
crossroads.js
Finch.js
David.js
jQuery BBQ
Here 是关于它们的 stackoverflow 讨论。
而here 是关于为什么#!/About-us 而不仅仅是#About-us 的讨论
【讨论】: