2010-05-25 14 views
6

Escenario:Ajax actualizados interfaces de usuario y el botón Volver

  • Una página se carga con una interfaz de usuario compleja en él.
  • El usuario realiza algunas acciones que modifican los datos mediante devoluciones de llamada de Ajax, los cambios se reflejan en la UI mediante la manipulación de DOM (por ejemplo, a través de jQuery).
  • El usuario hace clic en un enlace para ir a otra página (por ejemplo, una página de detalles).
  • El usuario hace clic en el botón Atrás para volver a la página de IU original.
  • El usuario ve información obsoleta - parece que los cambios que realizó (en el paso 2) nunca ocurrieron.

¿Cómo lidiar con esta situación?

Respuesta

2

Cookies. La única forma de guardar información después de que el usuario abandona una página y regresa es con cookies.

mejor manera de hacerlo es

0. user goes to your page 
1. A page is loaded with complex UI based on what is saved in the users cookies (default if no cookie) 
2. user does some actions, which are saved into the cookie 
3. user goes to another page 
+0

No es la única manera. ¿Qué sucede si el usuario tiene las cookies desactivadas? – Metropolis

+0

, entonces no podrán guardar el estado entre vistas de página. si tiene una forma mejor de guardar el estado en www sin cookies, hágamelo saber. – user350162

+0

base de datos o archivo plano en el servidor – Gutzofter

1

todos los datos que se pasa a la página siguiente tendría que ser también pasa de nuevo para cambiar la interfaz de usuario a la forma en que tiene que ser.

Esto podría hacerse con cookies, o podría hacerse usando la lógica de datos posteriores/servidor. Simplemente pase los valores a la segunda página, y cuando el usuario quiera regresar, asegúrese de pasarlos también y modificar la interfaz según los valores. Incluso podría usar una sesión para esto es lo que quería, pero creo que puede ser exagerado si este es el único lugar donde lo necesitará.

Metropolis

2

Se podría forzar a la página se actualice cuando se pulsa el botón de retroceso que se tire de los datos actualizados desde el servidor.

<META http-equiv="Cache-Control" content="no-cache"> 
<META http-equiv="Pragma" content="no-cache"> 
<META http-equiv="Expires" content="-1"> 

también puede ser que desee echar un vistazo a Real Simple History y ver si usted puede tomar ventaja de sus técnicas para utilizar el botón Atrás.

+0

+1 Buena idea Adam – Metropolis

Cuestiones relacionadas