Questa domanda è simile a Traccia quando l'utente preme il pulsante Indietro sul browser , ma non è la stessa ... Ho una soluzione e la sto pubblicando qui per riferimento e feedback. Se qualcuno ha opzioni migliori, sono tutt'orecchi!
La situazione è che ho una pagina con una "modifica sul posto", a la flickr. Cioè c'è un DIV "clicca qui per aggiungere una descrizione", che se cliccato si trasforma in una TEXTAREA con i pulsanti Salva e Annulla. Facendo clic su Salva, i dati vengono inviati al server per aggiornare il database e la nuova descrizione viene inserita nel DIV al posto di TEXTAREA. Se la pagina viene aggiornata, la nuova descrizione viene visualizzata dal database con un'opzione "fai clic per modificare". Roba web 2.0 abbastanza standard in questi giorni.
Il problema è che se:
- la pagina viene caricata senza la descrizione
- una descrizione viene aggiunta dall'utente
- si esce dalla pagina facendo clic su un collegamento
- l'utente fa clic sul pulsante Indietro
Quindi ciò che viene visualizzato (dalla cache del browser) è la versione della pagina senza il DIV modificato dinamicamente contenente la nuova descrizione.
Questo è un problema abbastanza grosso in quanto l'utente presume che il proprio aggiornamento sia stato perso e non capirà necessariamente che è necessario aggiornare la pagina per vedere le modifiche.
Quindi, la domanda è: come puoi contrassegnare una pagina come modificata dopo che è stata caricata e quindi rilevare quando l'utente "torna ad essa" e forzare un aggiornamento in quella situazione?