首先,我要感谢大家阅读并回答我的问题。到目前为止给予的帮助非常宝贵,而且由于我给予的帮助,我是一个更好的程序员。
解决手头的问题。我担心这有点粗糙,但下面的剧本大部分都有效。
问题在于,在存储历史记录时,当用户前进或后退时,页面不会改变。您是否知道我可以做些什么来修改它以便触发go函数?
$(document).ready(function(){
$("a").click(function() {
if (strpos($(this).attr('href'), 'mob.php') !== false) {
window.location = url($(this).attr('href'));
go(idToPath($(this).attr('href')));
return false;
}
});
});
function go(num) {
if (num != undefined) {
$.ajax({
url: "mob.php?p="+num+"&logo=0",
cache: false,
success: function(html){
$("#ajax").html(html);
}
});
}
}
$.history.init(function(u) {});
var page = 4;
var id = window.location.hash.substr(1);
if (id != '' && page != id) {
go(id);
}
答案 0 :(得分:1)
没有这样的事件。
但你可以使用一些历史插件,看看它是如何完成的: http://www.mikage.to/jquery/jquery_history.html
答案 1 :(得分:0)
好吧,我不确定这个问题的任何固定解决方案。
但我想出了一个临时解决方案。
$_SESSION['page'][] = "book.php?cat=1"
这不是一个很好的答案,但这应该给你一个粗略的想法。 :)
答案 2 :(得分:0)
在浏览器状态的混合中添加ajax会导致很多复杂的问题,如下所示: How to show Ajax requests in URL?
使用ajax和浏览器状态,jQuery Ajaxy项目是一个很好的开始。