ここには非常に単純な解決策があると確信していますが、最善のアプローチを考えることはできないようです。HistoryAPIを利用したHistory.jsを使用しています。次のページから始めましょう。
<div ="header">
Header
</div>
<div id="content">
Content
</div>
<div id="footer">
Footer
</div>
私がAJAX呼び出しを処理してきた方法は、#contentのコンテンツを新しいhtmlに置き換えることです。たとえば、「コンテンツ2」というテキストを読み込みます。これはすべて、ユーザーが私のサイトでヒットした最初のページに戻るまではうまく機能します。これは、最初のページ全体(#headerと#footerを含むため、次のようになります)を読み込もうとするためです。
<div ="header">
Header
</div>
<div id="content">
<div ="header">
Header
</div>
<div id="content">
Content
</div>
<div id="footer">
Footer
</div>
</div>
<div id="footer">
Footer
</div>
この問題を回避するためにページを構造化するためのより良い方法があることは知っていますが、それが何であるかを理解できないようです。これが私が使用しているコードです:
(function(window,undefined){
var
History = window.History,
State = History.getState();
History.Adapter.bind(window,'statechange',function(){
var State = History.getState();
$.ajax({
url: History.getState().url,
cache: false
}).done(function( html ) {
$("#content").html(html);
});
});
})(window);
これを処理する適切な方法に関するアイデアはありますか?