2011-07-22 11 views
6

数ヶ月前にvkontakte.ru(russian FB)に新しい機能が導入されました: ユーザーページ間を移動するとブラウザのリロードは発生しません。代わりに、新しいページがプリロードされて表示されます。ページ上にある音楽プレーヤー(フッターの上部に固定されています)が途切れることなく演奏されます。FacebookはブラウザのアドレスバーのURLをページのリロードや#または?

ただし、ブラウザのアドレスバーのURLは変更され、ハッシュタグやクエリ文字列では変更されません。

私のページはvk.com/myPageです...私は友人をクリックし、彼のページがプリロードされ、ブラウザのアドレスバーのURLがvk.com/myfriendJoeに変わり、ブラウザがリロードされません起こる

SafariとChromeの最新バージョンのような最新のブラウザでのみ動作することに注意してください。Firefox 3.6のように、ハッシュタグとクエリ文字列を使用するフォールバックを実装しています。

私はいくつかの調査を行い、window.history.pushStateを見つけましたが、クエリ文字列でしか動作しないようです。

アイデアをいただければ幸いです。ありがとうございました。

+0

http://spoiledmilk.dk/blog/html5-changing-the-browser-url-without-refreshing-page –

答えて

1

これは、HTML5で定義された新しいhistory APIです。別のデモhereを見ることができます。あなたはそれがpushStateであることは間違いありませんが、と同じではありません(そのページに示すように、それは/history/first/history/secondのような根本的な相対URLを使用しています)。

-2

は、新しいコンテンツを持つページの特定のセクションを再作成するために舞台裏でAJAX呼び出しを使用しているサイトですか?それはURLを変更しない方法の1つです。

+1

要点は、URLを変更していることです。 –

関連する問題