Buongiorno a tutti.
Ho un piccolo problemino su un countdown ( vedi sito www.eddai.it)
Praticamente ogni volta che apro la pagina o faccio refresh si aggiorna e riparte da capo.
Help me![]()
![]()
![]()
![]()
Buongiorno a tutti.
Ho un piccolo problemino su un countdown ( vedi sito www.eddai.it)
Praticamente ogni volta che apro la pagina o faccio refresh si aggiorna e riparte da capo.
Help me![]()
![]()
![]()
![]()
Per forza, la persistenza dati si ottiene di solito dal lato server e non client, di solito con le sessioni. Oppure, dal lato client, setti un cookie con l'ultimo valore di secondi minuti e ore impostato sull' evento onunload.
Lo immaginavo.
Solo che onestamente di java ne capisco poco per questo mi sono bloccato.
Puoi cortesemente indicarmi il paramentro da sostituire per far puntare al server ?
grazie infinite
Ora non ho tempo ma posso darti una piccola "mappa":
Pagina caricata:
function foo(){
/*
1) c'è un cookie? LEGGILO e memorizza i valori letti
2) non c'è un cookie? CREALO con i valori iniziali di countdown per secondi, minuti ore e memorizza i valori appena assegnati
3) imposta il countdown con quei valori
4) avvia il countdown
*/
}
foo();
Per settare e leggere i cookie è pieno di tutorial in giro, anche se ora non ne ho uno sottomano ma c'è sempre il buon google!
hai davanti a te un paio di ore di lavoro :-) Auguri!
capisco, solo che onestamente non saprei dove mettere le mani.
Chi mi aiuta ?![]()
![]()
Intanto prova google dai:
http://www.google.it/search?q=javascript+cookies
Bisogna che impari a settare i cookie. Sperimenta un po' da te prima con i cookie, e poi torni qui (o almeno io farei così)
Ti ringrazio...
Solo che la cosa era urgente ...adesso ci provo ....
![]()
In realtà la cosa è anche più complessa di quello che mi appariva; probabilmente tu non vuoi che ogni volta il countdown riparta da dove si è fermato all' ultima visita, ma da quel valore MENO il tempo intercorso (esempio: me ne vado che il timer dice 1000, poi torno dopo 300: il tuo countdown non deve ripartire da 1000 ma da.. 700.)
Inoltre, se un utente lascia la pagina aperta due ore, il cookie registra ancora il valore di due ore prima, che non è quel che vuoi. Certo, puoi riscriverlo come dicevo con l'evento onunload sul tag body, ma non è detto che faccia a tempo su tutti i browser.
In tutti i casi, intanto, ti serve imparare a gestire i cookie.
Mi pare di capire comunque che il countdown è lo stesso per OGNI utente (se dovesse essere uno per ciascun utente allora sì che abbiamo un grattacapo). A questo punto dovrebbe davvero essere gestito dal lato server: o quanto meno la tua variabile javascript che tiene il valore del countdown deve essere scritta dal lato server con i valori di partenza che il countdown ha adesso (si presume vi sia un database che lo memorizza...)
Insomma, il problema può anche essere urgente ma non è da poco - magari altri ti sapranno rispondere con dei codici, io spero di aver contribuito ragionando sulle possibili implicazioni (rispetto alle queli se puoi chiarisci come deve funzionare il tuo countdown, se è lo stesso cioè per tutti gli utenti o se ogni utente ha il suo, che linguaggio server usi -php?- ecc)
ciao buon lavoro(ne!)
capisco,
se prendi spunto dal seguente sito ( dove ho copiato il countdown ) puo essere più facile scoprire l'arcano ?? www.poinx.it
grazie ancora
Sì, con lo script funzionante si capisce meglio, è dal lato server. Il server fa la differenza fra un tempo (timestamp) settato come scadenza (che sta memorizzato da qualche parte, un database come finanche un semplice file di testo, non si sa; perchè cosa fa il server rimane per fortuna oscuro dal lato utenza), e quello del client (che potrebbe arrivargli via ajax). Il server inizializza quindi il countdown javascript con quei valori.
Il countdown copiato non ti funziona PROPRIO perchè il lato server ti è oscuro.