AJAX 経由でコンテンツを提供するサイトに取り組んでいます。
メニューのアイテムをクリックすると、コンテンツ div が$.get
応答で更新されますが、特別なことは何もありません。
history.pushState
ブラウザの戻る/進むボタンでナビゲーションできるように実装しています。
履歴ナビゲーションにコンテンツをロードするには、次のものが必要です。
$(function() {
$(window).bind("popstate", function() {
$.getScript(location.href);
});
});
問題は、ページが初めてロードされるときに、この関数が$.getScript
ページをすぐに再度ロードすることです。ページが最初にロードされると最初の HTML ビューがレンダリングされ、2 回目のロードでは JS ビューがレンダリングされます。これは JS リクエストであるためです。
HTML リクエストのあるページでこのイベントが発生しないようにするにはどうすればよいですか?