View Full Version : [Sviluppo web/javascript]tasto back browser
nuovoUtente86
04-04-2008, 23:27
Come funzionano esattamente il tasto back del browser e la funzione history.back() di javascript!Ovvero tali funzioni vanno a ricaricare la pagina dal server oppure da una cache locale?Chiedo ciò perchè ho notato 2 cose:
-ad esempio su ebay facendo back sulle pagine precedenti prezzi e orari non vengono aggiornati,per cui se la pagina fosse processata dal server lo sarebbero.
-di contro diversi siti che richiedono le immagini di conferma(sms vodafone ed alice ad esempio) con la back aggiornano l' immagine come se la pagina provenisse dal server.
Anche su alcuni forum ad esempio andando indietro non si visualizzano le ultime discussioni inserite.
Dipende tutto dagli header che passi nella pagina, se dici di non cachare il risultato quando fai back ricarica la pagina o l'immagine, se gli metti l'header, nel caso del captcha di cui parlavi.
m.distrutti
05-04-2008, 09:44
preso da un altro forum(ma mi sembra non sia cross-browser questa tecnica :S)
Yes: You can put the following tag in the header of your page(s)(come dice giustamente cionci)
meta http-equiv="pragma" content="no-cache"
This will tell the browser not to cache the page content and forces it to get the page from the given url.
No: Not all browsers comply to this option. (:S)
The browser back/forward/reload buttons all use the localy cached content if it is able to (good for speed and lessens traffic on the net). The no-cache option is html 4.01 legal (probably before 4 too) and created for those situations that the browser should not use it's local cache.
All browsers should comply, but as I stated before, some don't.
I know this isn't the sollution you are looking for, but as far as I know you cannot tackle this problem with 100% guarantee.
EDIT: mi sono informato, e' l'unico modo ma non e' cross-browser purtroppo
nuovoUtente86
05-04-2008, 11:59
Dipende tutto dagli header che passi nella pagina, se dici di non cachare il risultato quando fai back ricarica la pagina o l'immagine, se gli metti l'header, nel caso del captcha di cui parlavi.
la cosa strana è che a quella pagina dove viene ricaricata la captcha si arriva attraverso parametri passai per POST e di norma in tal caso si dovrebbe avere l' avviso di pagina scaduta!Inoltre su IE e Mozilla il comportamento è diverso:sul browser microsoft l' immagine viene ricaricata,su Mozilla la pagina è cachata!
nuovoUtente86
05-04-2008, 17:04
Sempre in relazione alla cache del browser ci sono pagine che pur essendo in cache(copia non aggiornata) vengono normalmente aggiornate riscrivendo l' URL o facendo refresh!Il browser attraverso quale criterio gestisce la cache delle pagine dinamiche?
Dipende appunto dagli header che vengono trasmessi dalla pagina. Negli header ci sono informazioni su come il browser deve gestire la pagina nella cache.
nuovoUtente86
05-04-2008, 20:39
Ti faccio un esempio concreto cosi mi dici secondo te come sono impostati gli header:
-digito l' url del forum e la home che mi si apre è aggiornata con gli ultimi messaggi quindi la cache è bypassata!
-leggo un topic, faccio back dal browser e la pagina è quella cachata!
-vado a leggere un' altro topic....poi vado a cena torno...faccio back ma questa volta la pagina si aggiorna perchè presumibilmente la validità della pagina in cache è scaduta!
Ha una scadenza in minuti ;)
nuovoUtente86
06-04-2008, 16:06
Ha una scadenza in minuti ;)
Grazie!Mi hai confermato quello che pensavo!
Ora vorrei chiederti un consiglio:
ho delle pagine aspx che visualizzano delle tabelle frutto di estrazioni in base a parametri passati da post! Attualmente le impostazioni sn quelle di default e facendo back ritorno alle pagine precedenti, mentre vorrei che il browser lanciasse il messaggio di pagina scaduta(IE) o di postdata(FF)!Come dovrei settare?Ho letto un po in giro che di solito utilizzando il POST si dovrebbe ottenere quell' avviso ma non va!
Ultima domanda: ho notato che facendo refresh o scrivendo l' uri sulla barra degli indirizzi seppur ipoteticamente in cache dovrebbe essere una pagina non scaduta il browser la prende nel 99% dei casi dal server fregandosene della cache!E' un po strano!
Prova leggendo qui: http://www.web-caching.com/mnot_tutorial/how.html
nuovoUtente86
07-04-2008, 11:52
Prova leggendo qui: http://www.web-caching.com/mnot_tutorial/how.html
Grazie come al solito gentilissimo.
Della seconda considerazione(i browser che con il refresh ignorano la cache) che ne pensi?
A è possibile in qualche modo catturare e gestire l' evento dei tasti indietro-avanti-refresh del browser?
nuovoUtente86
07-04-2008, 12:04
Prova leggendo qui: http://www.web-caching.com/mnot_tutorial/how.html
Grazie come al solito gentilissimo.
Della seconda considerazione(i browser che con il refresh ignorano la cache) che ne pensi?
A è possibile in qualche modo catturare e gestire l' evento dei tasti indietro-avanti-refresh del browser?
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.