2012-01-11 15 views
7

Sto cercando di capire come Facebook implementa la barra laterale della chat. Sembra che rimanga lì anche mentre cambio pagina. Ad esempio, se seleziono del testo all'interno della barra laterale, quindi clic per andare su un'altra pagina di Facebook, il testo rimane selezionato. È come se fosse una cornice separata, ma quando guardo il codice, non lo è.In che modo Facebook ha implementato la barra laterale della chat?

risposta

3

C'è un elemento DOM contenitore chiamato "fb_content", il suo contenuto viene sostituito tramite AJAX diretto o più tecnicamente XMLHttpRequest. (Anche se, ad esempio, quando si inserisce un'app, l'intera pagina viene aggiornata.) Per aggiornare la barra degli indirizzi, utilizzare lo JavaScript History API.

4

Tutte le richieste vengono effettuate tramite chiamate AJAX. Solo il contenitore "contenuto" viene sostituito quando necessario.

In realtà non "vai" su un'altra pagina. Solo il div "content" viene aggiornato.

0

In aggiunta a ciò che Zeno e lericson hanno detto (fb_content viene aggiornato tramite ajax), anche la barra degli indirizzi viene aggiornata mantenendo la cronologia (se si preme indietro/avanti).

Problemi correlati