Newsgroup: it.comp.lang.javascript
Titolo: preloading?

ciao a tutti!
sto realizzando una chat in html/js e ho questo problema: la chat è
basata sul refresh di una pagina e quando la pagina viene ricaricata ci
mette troppo. Per esempio ho impostato il tempo di refresh a 5 secondi
mentre la pagina ci mette circa 2 secondi a ricaricarsi. In questa
maniera la pagina viene visualizzata per 3 secondi e per 2 secondi
resta bianca.
Per ovviare a questo sto pensando a fare un reload in background della
pagina in modo da evitare questo.
Che ne dite?
Dove posso trovare qualche documento che mi spieghi come fare questo
preloading? la pagina che si ricarica non ha elementi di grafica ma è
solo testo e questo testo viene preso in continuazione da un db.
grazie x tutti i suggerimenti
Marco

 Che ne dite?
Reload in background della pagina? E come?
BTW, cerca XmlHttpRequest o Ajax su Google e vedi un po'... a quanto ho
capito comunque qui sul ng c'č Nando che ci ha giocato un po' con una chat
con XmlHttpRequest, magari ti sa dare qualche aiuto in piů.
Ro!

 con XmlHttpRequest, magari ti sa dare qualche aiuto in più.
Eh! Se provo a spiegare cosa ho fatto mi intreccio :)
Cmq, credo ci sia qualche chat fatta con xmlhttprequest disponibile in
rete.
-- 
Nando [?]
Apostolo della Prova

 Reload in background della pagina? E come?
Tecnica del double buffering: Lavori su una pagina mentre ne visualizzi
un'altra; e poi fai uno swap.
In questo caso si potrebbe fare tranquillamente usando un iframe.
Devo essere onesto, mi mancano da morire i giorni in cui da pischello
programmavo a basso livello ed i videogiochi potevano anche essere sviluppati
da una sola persona.. Ma spesso molti concetti che utilizzavo all'epoca, mi
sono serviti anche in un contesto del tutto differente quale lo sviluppo web.
-- 
- Egon, questo mi ricorda quando tentasti di trapanarti il cranio.
- Mi saebbe riuscito se non mi avessi fermato.

 sono serviti anche in un contesto del tutto differente quale lo sviluppo
web.
La mia mancanza di conoscenze nella programmazione a basso livello è una
piaga in cui tu stai girando il dito, soprattutto quando si parla di
videogames. Se rinasco, la programmazione di videogiochi sarà una delle
occupazioni da tenere in considerazione (da aggiungere alla lista che già
conteneva calciatore, astronauta, notaio, farmacista, dentista e poi
immobiliarista e poi sign. Falchi, oltre che ereditiere).
Ro!

ciao, puoi darmi qualche dritta su questo double buffering? 
grazie

 Tecnica del double buffering:
double buffering e' la terminologia "standard" anche in ambito web, oppure 
te la sei inventata al momento? :) 

ciao, ho cercato di documentarti un po' ma trovo in giro (poca)
documentazione solo per quanto riguarda la bufferizzazione di immagini
non di html.
Sai suggerirmi qualche link?
Marco

 immobiliarista e poi sign. Falchi, oltre che ereditiere).
LOL. Ti capisco, cmq... :)
-- 
- Ray è completamente partito Egon, di te che ne è restato?
- Mi dispiace Venkman,il terrore travalica la mia capacità di razionalizzare

 te la sei inventata al momento? :)
Né l'una né l'altra, è una terminologia standard per quel genere di
operazione; per lo più utilizzata in ambito video (e videoludico), mi sembrava
calzare anche nel caso specifico e l'ho riutilizzata. Ma non me la sono
inventata sul momento, nel senso che non è la prima volta che la riutilizzo.
-- 
- Voi chi dovreste essere? Una specie di cosmonauti?
- No disinfestatori, hanno visto uno scarafaggio al 12°
- Deve essere grosso questo scarafaggio
- Enorme, stacca le teste a morsi!

 ciao, puoi darmi qualche dritta su questo double buffering? 
Se proprio ci tieni a fare una cosa del genere (e IMVHO non è il tuo caso) si
tratta solo di giocare un po' con gli frame/iframe, caricando due pagine
contemporaneamente; e poi visualizzando alternativamente l'una all'altra
giocando sui frame/iframe in questione. Mentre una carica, l'altra visualizza,
e via dicendo.
La mia risposta infatti era rivolta a Ro!, non a te. Secondo me non ti
conviene fare una cosa del genere, bensì cambiare un po' il tuo approccio al
problema. Risponderò al tuo post per spiegarti cosa intendo dire.
-- 
- Lei ha precedenti di pazzia in famiglia?
- Mio nonno credeva d' essere San Giuseppe...
- Io ci metterei un bel SI!

 Risponderņ al tuo post per spiegarti cosa intendo dire.
/nando/ Si versa un whisky, prepara una delle sue sigarette e, sornione, si
accomoda in poltrona, pronto a godere dello spettacolo...


 Che ne dite?
Non è la cura per la malattia, ma una pezza al sintomo. Bisogna capire perché
ci mette troppo caricarsi, e vedere cosa si può fare. Una chat non può
metterci così tanto.
Inoltre il "preloading" in una chat non ha senso. Perché precaricheresti le
discussioni degli utenti con un ritardo di due secondi, in ogni caso.
-- 
- Vuoi tu questo corpo?
- E' una domanda trabocchetto?

 /nando/ Si versa un whisky, 
Whisky? Alle nove di mattina?
Apostolo dell'anonima alcolisti, dovresti essere, altroché! ;D
-- 
- E.. lei č mestruata al momento?
- Ma scusi questo che c' entra??
- Si inchini alla scienza!

 Apostolo dell'anonima alcolisti, dovresti essere, altroché! ;D
Era solo per rendere la scena un po' più interessante :)
Oramai l'alcool lo posso guardare solo da lontano: ho lo stomaco a
pezzettini e la bottiglia di Glenfiddich giace quasi colma sulla mensola
:-/


 :-/
Siamo in due, senza alcool. Anche io, per un bel po', dovrň gioco forza
farne completamente a meno. Amen... e acqua, acqua a garganelle.
Ro!

 Che ne dite?
Come ti ha già detto Zer0, questa è una pezza al problema, non una
soluzione. La tecnica del double buffering (di cui non conoscevo il nome, ma
io non derivo dai videogiochi, o almeno, non dal loro sviluppo - perché in
quanto a Doom o Wolf3D spaccavo ;) è una toppa che puoi applicare se hai
necessità di una certa rapidità nella soluzione del problema.
Io questa soluzione l'ho usata una volta sola, mentre una pagina (in una
popup) faceva una cosa, un'altra in un frame nascosto si caricava
completamente e onload rimpiazzava il frameset. Era comunque una pezza,
applicata solo perché per risolvere il problema della lentezza, bisognava
riscrivere da zero l'intero database (qualcosa come diversi GB di dati).
Lavoro fatto poi con calma.
Ro!

completamente. Così escludi il tempo che ci mette a caricarsi dal conteggio.
Secondo me quello che dici non risolverebbe il problema perchè la
pagina viene ricaricata quando è già visualizzata: il tempo di
ricaricamento rimarrebbe lo stesso e quindi la pagina resterebbe
comunque bianca durante il caricamento. O no?
Grazie
Marco

 ricaricamento rimarrebbe lo stesso 
Certamente, infatti ho scritto "se il problema è il fatto che rimane per tre
secondi invece che di cinque": ovvero che l'utente ha solo 3 secondi invece
che 5 in cui la pagina è a disposizione.
-- 
- Penso che sia meglio dividerci
- Buona idea
- SII, così possiamo fare più danno!!