Vorrei sapere se esiste un modo per fare si che tutti gli utenti connessi ad un sito possano essere aggiornati in tempo reale se avvengono modifiche alla pagina che stanno guardando, senza ricaricare la pagina ogni tot di tempo.
Vorrei sapere se esiste un modo per fare si che tutti gli utenti connessi ad un sito possano essere aggiornati in tempo reale se avvengono modifiche alla pagina che stanno guardando, senza ricaricare la pagina ogni tot di tempo.
Una possibile soluzione è questa:
Ti serve un linguaggio lato server e l'uso di AJAX.
Con AJAX puoi chiamare l'esecuzione di una pagina lato server senza aggiornare la pagina.
Sul caricamento della pagina passi nome e data e ora di creazione della stessa dal server e salvi queste info in variabili lato client.
Fai una semplice pagina con un linguaggio lato server che riceve come parametri il percorso di una pagina e la data creazione e ti ritorna due valori differenti se la pagina è stata aggiornata o meno.
In javascript fai un polling ogni tot di tempo dove chiami questa pagina (usando AJAX) passando nome e ora creazione impostate sul caricamento.
Se il codice di ritorno dice che la pagina è stata modificata allora decidi cosa fare (ricaricare la pagina / avvertire l'utente).
Cerca AJAX su questo forum o su google, il tutto non è affatto complesso.
Se hai bisogno di una mano o se non ti è chiaro qualche punto posta qui che ti aiutiamo.
- "E' un messaggio. E' di Svarion, della terra di Merdor!"
- "Busto Arsizio?"
- "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
- "Ca**o dici? C'è scritto «frocio chi legge»!"
Provando a rispolverare qualche reminiscenza di HTTP (che sono comunque, ahimè, poche), il documento che il browser carica è un'istantanea dello stesso scattata al momento della richiesta (tralasciando il caso di eventuali operazioni lato server in pre-stampa) al server.
E' per questo - se non ho sbagliato - che mi sento di dirti che senza ricaricare il documento o effettuare delle chiamate al server (magari tramite AJAX, per evitare il reload) non è possibile offrire all'utente la soluzione che vai cercando.
Spero - per te - di venire smentito presto da chi ne sa di più.![]()
[Edit] Parli di esperto...![]()
Leading the Web to Its Full Potential...
www.pierofix.it | www.w3.org | www.zeldman.com/externals | http://browsehappy.com | www.alistapart.com | www.webstandards.org | www.flickr.com/photos/pierofix/
Originariamente inviato da pierofix
Provando a rispolverare qualche reminiscenza di HTTP (che sono comunque, ahimè, poche), il documento che il browser carica è un'istantanea dello stesso scattata al momento della richiesta (tralasciando il caso di eventuali operazioni lato server in pre-stampa) al server.
E' per questo - se non ho sbagliato - che mi sento di dirti che senza ricaricare il documento o effettuare delle chiamate al server (magari tramite AJAX, per evitare il reload) non è possibile offrire all'utente la soluzione che vai cercando.
Spero - per te - di venire smentito presto da chi ne sa di più.![]()
[Edit] Parli di esperto...![]()
Ah, comunque il tutto lo si potrebbe anche fare senza il linguaggio lato server, andando semplicemente a confrontare i contenuti della pagina, o almeno parte dei contenuti. Si potrebbe scrivere da qualche parte nel codice della pagina la data di aggiornamento o la versione e poi confrontarle lato client addentrandosi un po' nel codice della pagina maneggiandolo in uno stringone.
Ma con un linguaggio lato server diventa molto più semplice la cosa.
- "E' un messaggio. E' di Svarion, della terra di Merdor!"
- "Busto Arsizio?"
- "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
- "Ca**o dici? C'è scritto «frocio chi legge»!"
Non mi è chiara una cosa.
Per ricaricare un documento sul client dell'utente c'è bisogno, in un modo o nell'altro, di una ulteriore richiesta al server. Di conseguenza, l'utente deve "fare qualcosa" affinchè ciò avvenga.
Sbaglio?
[Edito perchè son pirla] Adesso che ci penso, l'inbox di Gmail si autoaggiorna ad ogni nuova ricezione di messaggi. In qualche modo, quindi, si può fare.![]()
Leading the Web to Its Full Potential...
www.pierofix.it | www.w3.org | www.zeldman.com/externals | http://browsehappy.com | www.alistapart.com | www.webstandards.org | www.flickr.com/photos/pierofix/
'nfattiOriginariamente inviato da pierofix
Non mi è chiara una cosa.
Per ricaricare un documento sul client dell'utente c'è bisogno, in un modo o nell'altro, di una ulteriore richiesta al server. Di conseguenza, l'utente deve "fare qualcosa" affinchè ciò avvenga.
Sbaglio?
[Edito perchè son pirla] Adesso che ci penso, l'inbox di Gmail si autoaggiorna ad ogni nuova ricezione di messaggi. In qualche modo, quindi, si può fare.![]()
![]()
E' una chiamata a un metodo dell'oggetto HTTP istanziato.
Basta fare una funzione eseguita ogni tot secondi che richiama una pagina e controlla quello che questa rimanda al client.
- "E' un messaggio. E' di Svarion, della terra di Merdor!"
- "Busto Arsizio?"
- "Terrazzo, sgabello, formaggio. Borraccia blu, ca**o di gomma e... CANNUCCIA!"
- "Ca**o dici? C'è scritto «frocio chi legge»!"
Sì, ecco, adesso ho capito il concetto.Originariamente inviato da nuky
Basta fare una funzione eseguita ogni tot secondi che richiama una pagina e controlla quello che questa rimanda al client.![]()
Leading the Web to Its Full Potential...
www.pierofix.it | www.w3.org | www.zeldman.com/externals | http://browsehappy.com | www.alistapart.com | www.webstandards.org | www.flickr.com/photos/pierofix/