2012-01-11 15 views
7

私はFacebookがチャットのサイドバーをどのように実装しているのか理解しようとしています。私がページを変えてもそこにとどまるようです。たとえば、サイドバー内でテキストを選択してから別のFacebookページに移動すると、そのテキストが選択されたままになります。別のフレームであるかのようですが、コードを見るとそうではありません。Facebookはどのようにチャットサイドバーを実装しましたか?

答えて

3

「fb_content」と呼ばれるコンテナDOM要素があります。そのコンテンツは、AJAXまたはまったく技術的にはXMLHttpRequestで置き換えられます。 (たとえば、アプリを入力すると、ページ全体が更新されますが)アドレスバーを更新するには、JavaScript History APIを使用します。

4

すべてのリクエストは、AJAXコールによって行われます。必要に応じて「コンテンツ」コンテナのみが置き換えられます。

あなたは実際に別のページに移動しません。ちょうど "content" divが更新されます。

0

Zenoとlericsonの言うことに加えて(fb_contentはajax経由で更新されます)、アドレスバーは履歴を維持しながら更新されます(前/後を押すと)。

関連する問題