我正在尝试在这个完整的ajax网站上实现后退按钮..我尝试了jquery历史插件,但我确定我搞砸了一些东西,因为哈希看起来没问题,但后退按钮不会加载原始内容。 。
这就是我的菜单:
<div id="nav" class="ajaxload menu">
<ul>
<li><a href="home.aspx">Home</a></li>
<li><a href="about.aspx">About Us</a></li>
<li><a href="contact.aspx">Contact</a></li>
</ul>
</div>
ajax调用:
$(function() {
var $content = $('#content');
$('.ajaxload li a').click(function() {
$content.html('<div id="loader"></div>');
var url = $(this).attr('href');
$.get(url, function(data) {
$content.hide().html(data).fadeIn("slow", function() { $("#loader").fadeOut("fast") });
});
return false;
});
});
答案 0 :(得分:1)
我猜你在使用历史插件时可能没有初始化它。初始化时,会向其传递一个处理哈希更改的回调,以便您可以再次加载内容。所以,例如,而不是做这样的事情:
$('a').click(function clickedLink() {
var href=$(this).attr('href');
$.history.load(href);
doSomeAJAXRequest(href);
return false;
});
你必须做这样的事情:
$.history.init(function hashChanged(hash) {
doSomeAJAXRequest(href);
});
$('a').click(function clickedLink() {
var href=$(this).attr('href');
$.history.load(href);
return false;
});