最近自分のページに History.js を実装しましたが、スクリプトに問題があります。インデックス ページに移動してリンクをクリックすると、正常に機能します。新しいコンテンツが読み込まれ、ページが更新されず、すべてのナビゲーション リンクが引き続き機能します。ただし、リンクの 1 つを使用した後に更新してからリンクをクリックすると、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());