2012-08-30 13 views
6

La finestra di chat di Facebook rimane aperta, invariata, per aggiornare la pagina, o anche quando cambiamo pagina. Come riprodurre qualcosa di simile? Ho provato con frameset, ma non ha funzionato.Finestra come chat di Facebook

Come mantenere un div aprire una finestra simile a quella interna, anche dopo aver aggiornato la pagina o clocar su un collegamento a un sito Web?

+0

è necessario mantenere lo stato della finestra su qualcosa. un cookie, la sessione o un database (o un numero qualsiasi di cose). – Shmiddty

+0

Lo farei per AJAX –

+0

Se ** ricarichi ** la pagina con il pulsante del browser, non "rimane aperta" - è ricaricata insieme a tutto il resto sulla pagina. Tutto il resto che fai usando la loro interfaccia utente è semplicemente ajax e non sta ricaricando la pagina dal server, stanno semplicemente aggiornando le sezioni della pagina in posizione mentre non toccano la sezione della chat. –

risposta

1

Come loro, si può provare -

  1. I dati sono condivisi tra le pagine di Facebook. Probabilmente HTML5 localStorage? Biscotti? Non ne sono sicuro.

  2. Se si nota che non "aggiornano" la pagina, aggiornano ajax il contenuto della pagina per i carichi successivi. (A meno che non navigare manualmente alla stessa pagina, ovviamente.)

  3. Infine, tutti i suoi CSS principalmente alcuni z-index mettere a frutto.

Spero che quei 3 siano sufficienti per iniziare.

0

Non penso che l'intera pagina di Facebook sia caricata. Ogni link ha il suo "target". Molti di loro prelevano una pagina (penso semplicemente con AJAX) per mostrare, altri semplicemente cambiano alcuni partial dello schermo. Quindi diciamo, hai due div. Un div è il chat-div. Posizionamento fisso e tutto, z-index su 100, rimarrà sempre in primo piano. Il resto della pagina è l'altro div. All'interno di questo div è possibile caricare determinate pagine con AJAX, senza aggiornare l'intero schermo.

Come con i ricarichi dello schermo: è possibile salvare facilmente (anche con AJAX) se l'utente ha chiuso la schermata della chat o se l'ha aperta. Basta creare una tabella in un database chiamato "chat" o qualcosa del genere, quindi quando viene aperto un chatscreen si inserisce una voce in quella tabella con "person_1", "person_2" "lastmessage" e "active". Quando chiudono la chat, puoi mettere il campo 'attivo' su falso. Quindi, ogni volta che qualcuno carica l'intero sito Web, controlli le chat delle tabelle per le chat attive e le mostra quando ce ne sono.

0

Vorrei guardare in qjuery-qjax: https://github.com/defunkt/jquery-pjax

Dalle loro documentazione:

opere pjax afferrando html dal server tramite la tecnologia AJAX e sostituendo il contenuto di un contenitore sulla tua pagina con l'Ajax 'd html. Aggiorna quindi l'url corrente del browser utilizzando pushState senza ricaricare il layout della pagina o eventuali risorse (js, css), dando l'impressione di un caricamento veloce e completo della pagina. Ma in realtà è solo ajax e pushState.

Problemi correlati