0

Facebook でリンクをクリックしても、上部のヘッダー バーがちらつきません。私はコンテンツが ajax 経由で読み込まれるページでこの効果を見るのに慣れていますが、Chrome では URL が変更されており、私の知る限り、それは新しいページが読み込まれたことを意味します。

JavaScript では、リダイレクトなしでは URL を変更できないことはわかっていますが、ハッシュタグは変更できるので、これは非常に興味深いと思います。これは、以前のページから移動する前に Web ページをロードしてシームレスなエクスペリエンスを作成する chrome の機能ではないかと考えたので、Internet Explorer で試してみました。IE でも同様の効果が得られますが、今回は URL は変更されず、ハッシュタグのみが変更されます。FireFoxでも試してみたところ、chromeと同じようにURLが変更されました。

何が起きてる?

4

3 に答える 3

4

はい、AJAXがロードされています。そして、URLは履歴を操作することによって変更されます。HistoryJSと呼ばれる優れたライブラリも、ハッシュ変更を使用して、サポートされていないブラウザに対してこの機能をラップします。

于 2012-06-22T22:42:44.113 に答える
1

Facebookの場合かどうかはわかりませんが、History APIを使用すると、同じオリジンポリシーに準拠している限り、プログラムでURLを変更できます。GitHubは、この手法を目立たないように使用する優れた例です。

于 2012-06-22T22:42:48.553 に答える
1

最近のブラウザでは、関数を使用して、ページをリロードせずにURLを更新することができますhistory.pushState()

例:

history.pushState({}, "", "foo.html");
于 2012-06-22T22:43:27.590 に答える