1

あいまいなタイトルで申し訳ありませんが、これらの手順を再現することで、私が抱えている問題が表示されることを願っています。

  1. Google Chrome で、griffinalters.comにアクセスします(Firefox や IE の最近のバージョンでは問題はないようです)。
  2. 任意のカードをクリックします。
  3. 別のサイトにアクセスします (これには about:blank が適しています)。
  4. 戻ってみると、部分的なリクエストに対して読み込まれた HTML だけが表示されるはずです (たまたまhttp://www.griffinalters.com/card/29/?ajaxのようになります)。

pushState したリンクは でし/card/29/たが、div にロードしたリンクは(この回答/card/29/?ajaxの提案に従って) でした。もともと私はinの存在をチェックしようとしていました(価値があるので、私は Django の方法を使用しています)。XMLHTTPRequestHTTP_X_REQUESTED_WITHis_ajax

XHR から返された HTML のチャンクを次のようにロードします。

function update_main_card_from_url(theurl) {
    $(".primary-card").load(theurl + '?ajax');
}

これは次のように呼び出されます。

function micro_card_click(event) {
    event.preventDefault();

    var theurl = $(this).attr("href");
    SimpleHistory.pushState(theurl);

    update_main_card_from_url(theurl);
}

私が本当に理解したいのは、別のサイトからヒットバックすると、プッシュした URL が読み込まれず、フェッチされた URL が読み込まれる理由です。誰かが私を正しい方向に向けることができますか?

4

0 に答える 0