Javascript 阿贾克斯历史问题
所以我有一个动态php生成的代码:Javascript 阿贾克斯历史问题,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,所以我有一个动态php生成的代码: <script> parent.document.title = 'Members | UrbanRanks'; $("#cwrocket_button").click(function(){ $("#module").load("module.php?module=profile&user_url=cwrocket");
<script>
parent.document.title = 'Members | UrbanRanks';
$("#cwrocket_button").click(function(){
$("#module").load("module.php?module=profile&user_url=cwrocket");
window.history.pushState( null, null, '/cwrocket.html');
parent.document.title = 'Cwrocket | UrbanRanks';
$('html, body').animate({ scrollTop: 0 }, 'slow');
return false;
});
</script>
<a id="cwrocket_button" href="cwrocket.html">Cwrocket</a>
当“后退”和“前进”工作时,它会重新加载整个页面
提前感谢所有解决此难题的人,如果需要更多代码,请告诉我。当您按下状态按钮时,您需要保存重新加载所需的信息,然后单击后退箭头时,您需要收听事件:
window.onpopstate = function(evt) {
// restore the previous state
}
这是一个非常笼统的答案,但是当您按下事件时,它会保存状态信息,因此您可以使用它来恢复。所以您试图用您通过ajax加载的内容填充模块div,只有当按下后退或前进按钮时?这是正确的吗?是的,内容应该与url相对应。我的意思是,例如,单击该链接,它会转到cwrocker用户页面,但当我单击“上一步”时,url会变回members.aspx(注意:伪重写为.aspx)页面,但是cwrocker的内容和页面标题仍然存在。是的,对不起,伙计,我想我帮不了你。你应该研究Angular JS,它允许你创建单页应用程序,因为这听起来像是你在这里试图完成的。很抱歉打扰你,因为我不是JS方面的专家,但什么是我现有代码的一个好实现呢?这是一个相当复杂的主题;我从阅读开始。通常,在调用
pushstate()
时,可以将对象作为第一个参数传递,该参数告诉您在onpopstate
处理程序中重新加载什么。对于您来说,它可能看起来像window.history.pushstate({loadUrl:},null,'/cwrocket.html')
window.onpopstate = function(evt) {
// restore the previous state
}