2011-06-30 13 views
22

Tengo una aplicación web que estoy desarrollando y bastante similar a la idea de que si el usuario realiza cambios en la vista de la interfaz de usuario (por ejemplo, listas abiertas o cerradas, ciertas preferencias de visualización) esos cambios permanecen después de cerrar el navegador y visitar la aplicación web en una fecha posterior.¿La mejor manera de almacenar preferencias de usuario de IU pequeñas en una aplicación web?

opciones posibles que se me ocurren:

  1. guardar las preferencias de la interfaz de usuario JSON objeto de galletas.
  2. Uso almacenamiento local de HTML5 (sin experiencia de este)
  3. tienda en la base de datos MySQL (no interesado en el almacenamiento de dichos datos triviales en el DB)

Una vez almacenados voy a recuperar estas preferencias cuando el usuario vuelve y configura la interfaz de usuario tal como estaba cuando lo abandonaron por última vez.

¿Alguien tiene alguna experiencia de este tipo de función y puede sugerir el mejor método para guardar el estado de interfaz de usuario y la recuperación?

Respuesta

23

Si es tan pequeño, probablemente deba almacenar el objeto json de la configuración de la interfaz de usuario en su propia base de datos.

Eso dejará a los usuarios con menos problemas en su extremo, como la eliminación de caché y el almacenamiento local navegadores no compatibles.

También hará posible que los usuarios usen la configuración de UI en diferentes computadoras o navegadores.

+1

mi ojo abierto, estaba pensando en establecer las preferencias en el lado del cliente. Gracias. –

5

¿Desea que los cambios de aspecto y campo se recuerden en varias máquinas? ¿Son críticos o causarán grandes frustraciones para el usuario si se olvidan (borrar las cookies)?

La respuesta a esta pregunta decide si usted almacena localmente o en el servidor.

Si no es necesario, una cookie o un almacenamiento local deberían ser suficientes. HTML 5 local storage no es realmente prevalent (una vieja pregunta).

Si desea recordar en todas las máquinas, una base de datos es la única opción.

2

He hecho este tipo de cosas antes de usar las cookies. Nunca me gustaría almacenar este tipo de cosas en una base de datos, y dado que no es una característica muy importante, los problemas de almacenamiento en caché o las cookies desactivadas no deberían importar: algunas personas no se beneficiarán de ello, pero la mayoría probablemente sí lo haga. Si desea que el estado de los usuarios persista en diferentes computadoras, tendrá que hacer lo que sugiere bhagyas y almacenarlo en la base de datos.

11

El uso de almacenamiento local de HTML5 es muy fácil:

localStorage.setItem('someName', 'savedData'); 

Cuando hay que recuperarlo más tarde que acaba de utilizar:

var data = localStorage.getItem('someName'); 

Usando HTML5 tiene algún inconveniente demasiado, sugiero que usted agregue definitivamente soporte para navegadores antiguos a través de cookies, etc. Luego, si desea permitir que el usuario tenga la misma configuración, independientemente de la ubicación desde la que se conecta, no tiene otra opción que utilizar una tabla de base de datos.

Nota adicional: Tenga en cuenta que las cookies se envían con cada solicitud al servidor. Si el ancho de banda bajo es importante y hay numerosas configuraciones definidas en una cookie, usar una tabla de base de datos o almacenamiento local tiene más sentido.

Cuestiones relacionadas