0

現在、jQuery を使用してコンテンツをホルダー div に動的にロードし、URL を pushstate で更新しています。

これまでのところ、次のコードがあります(一部は単純化のために除外されています):

$("body").on("click", "a:not(.noclick)", function(){

    history.pushState({path: $(this).attr("href")}, "", $(this).attr("href"));

    $("#main").load($(this).attr("href"));

    return false
});

期待どおりに機能し、新しいコンテンツの読み込み時に URL が変更されますが、戻るボタンが現在機能していません。

jQuery を使用してサイトを使用して、ヘッダーなしで、または JavaScript を使用せずにコンテンツをロードできるようにページを作成しました。ページは URL から表示されるため、その部分に問題はありません。

最後のプッシュステート履歴をロードするために戻るナビゲーションでロードを使用する方法はありますか? ハッシュを使用したくないのですが、ハッシュなしで可能かどうかわかりませんか?

それが役立つ場合、Facebookはナビゲーションでこれを行うようですか?

4

1 に答える 1

0

popstateイベント ハンドラが必要です。

しかし、 jquery-pjaxを使用して、これを他の誰かの問題にしてみませんか。

pjax スクリプトを含めたら、おそらく次の手順で十分でしょう。

$(function() {
  $("a:not(.noclick)").pjax("#main", { fragment: "#main" });
});

この特定の使用法では、非コンテンツを削除するためのサーバー処理は必要ありませんが#main、pjax は参照する部分コンテンツもサポートしています。

于 2012-04-21T02:30:24.057 に答える