【发布时间】:2012-12-22 06:21:09
【问题描述】:
我最近在我的页面上实现了 History.js,但脚本存在问题。如果我转到索引页面,然后单击一个链接,事情就会像他们应该的那样工作。新内容被加载,没有页面刷新,所有导航链接仍然有效。但是,如果我在使用其中一个链接后刷新,然后单击一个链接,则 URL 会更改,但内容不会更改。我不确定发生了什么。
后退和前进按钮工作正常,使用后我可以访问导航。这是我正在使用的 javascript:
function fire()
{
var
History = window.History,
State = History.getState();
$('a').live('click', function(e)
{
e.preventDefault();
var path = $(this).attr('href');
var title = $(this).attr('title');
History.pushState('ajax',title,path);
}
);
// Bind to state change
// When the statechange happens, load the appropriate url via ajax
History.Adapter.bind(window,'statechange',function()
{
load_ajax_data();
History.log(State.data, State.title, State.url);
}
);
function load_ajax_data() {
State = History.getState();
$.post(State.url, function(data) {
$("#content").load(State.url + ' #contentDiv');
});
}
}
$(document).ready(fire());
【问题讨论】:
-
History.js 的文档说它解决了“状态数据和标题在站点离开然后返回(包括页面刷新)后不会持续存在”的浏览器问题,这应该意味着我可以使用导航链接,刷新页面,导航应该仍然有效。我不确定为什么没有。我将使用我在 javascript 文件中使用的代码更新我的问题。
-
这个问题还没有修复,所以如果有人有什么想法,请分享!
-
您是否设法找到任何具有刷新问题的解决方案,就像我的带有 history.js 的演示应用程序一样。请回复。谢谢
标签: php jquery history.js