Esta pregunta es similar a Rastrear cuando el usuario presiona el botón Atrás en el navegador , pero no es lo mismo ... Tengo una solución y la estoy publicando aquí para referencia y comentarios. Si alguien tiene mejores opciones, ¡soy todo oídos!
La situación es que tengo una página con una "edición en el lugar", a la flickr. Es decir, hay un DIV "haga clic aquí para agregar una descripción", que al hacer clic se convierte en un TEXTAREA con los botones Guardar y Cancelar. Al hacer clic en Guardar, se publican los datos en el servidor para actualizar la base de datos y se coloca la nueva descripción en el DIV en lugar de TEXTAREA. Si se actualiza la página, se muestra la nueva descripción de la base de datos con una opción de "hacer clic para editar". Material web 2.0 bastante estándar en estos días.
El problema es que si:
- la página se carga sin la descripción
- el usuario agrega una descripción
- se navega desde la página haciendo clic en un enlace
- el usuario hace clic en el botón Atrás
Luego, lo que se muestra (del caché del navegador) es la versión de la página sin el DIV modificado dinámicamente que contiene la nueva descripción.
Este es un problema bastante grande ya que el usuario asume que su actualización se ha perdido y no necesariamente entenderá que necesita actualizar la página para ver los cambios.
Entonces, la pregunta es: ¿Cómo se puede marcar una página como modificada después de que se ha cargado, y luego detectar cuando el usuario "vuelve a ella" y forzar una actualización en esa situación?