3

これを何と呼ぶべきかわかりませんが、Google プラスでは、別のページに移動すると HTTP アドレスが変更されますが、ユーザーバーは静的なままでリロードされないようです。何が起きていて、これはどのように行われていますか?

これが理にかなっていることを願っています!ありがとうございました!

4

2 に答える 2

3

AJAX (コンテンツの非同期読み込み)

コンテンツが非同期で読み込まれ、アドレス バーの URL が変更されています。

コンテンツを非同期的にロードする基本的な例:

$.ajax({
    url: 'http://www.example.net/load.html',
    dataType: 'html',
    success: function(data){
        // This will replace all content in the body tag with what has been retrieved
        $('body').html(data);
    }
});

ドキュメントについては、こちらを参照してください。$.ajax()

リダイレクトせずに URL を変更する

リダイレクトを使用して URL を変更するには、HTML5 history API を使用する必要があります。同様の質問が以前にここで尋ねられました。参照してください。

ページをリロードせずに URL を変更する

抽出された回答:

function processAjaxData(response, urlPath){
     document.getElementById("content").innerHTML = response.html;
     document.title = response.pageTitle;
     window.history.pushState({"html":response.html,"pageTitle":response.pageTitle},"", urlPath);
}

HTML5 History API の詳細については、こちらをご覧ください

于 2013-05-15T07:01:13.230 に答える
1

HTML5 History API、具体的にはpushState新しい履歴状態を追加する方法を使用している可能性があります。また、おそらく Ajax ( XHR ) を使用して新しいコンテンツを読み込み、そのコンテンツをDOM API経由でページに追加しています。

このほとんどを処理してくれるライブラリpjaxを調べてください。

于 2013-05-15T07:00:07.873 に答える