Facebookでこの機能を確認しました。右下にチャットボックスを開いて、別のページ、たとえば友達のプロフィールやFacebook内の写真収集ページに移動すると、チャットボックスはリロードされません。そのままの場所に残ります(背景ページの上の別のレイヤーにあるかのように)。
当然のことながら、Facebookはページ自体をリロードするのではなくhistory.pushstate
、関連する関数を使用してコンテンツを非同期にロードし、URLを動的に変更していると思いました(友達の名前の1つをクリックして取得すると、Firebugが確認しました)友達のプロフィールページに、それは実際にGET
解雇されているリクエストです)。したがって、ページの読み込みが正確に行われていないため、チャットボックスはそのままアイドル状態になります。
ただし、バージョン10より前のバージョンpushstate
ではサポートされていませんIE
。それでも、で問題なく動作IE9
します。それで、誰かがそれをどのようにやっているのか教えてもらえますか?彼らはhistory
APIをまったく使用していませんか、それとも何か違うものですか?