2009-09-22 12 views
6

En mis demostraciones, me gustaría evitar el uso de bases de datos tradicionales y almacenar todos los datos del lado del cliente, p. información enviada a través de un formulario.Persistencia del lado del cliente (almacenamiento)

Qué alternativas tengo para eso. He oído hablar de Gears pero no tengo ninguna experiencia práctica.

¿Puedo también almacenar información binaria además de cadenas, p. ¿una imagen?

Respuesta

5

Usted puede tener una mirada en YUI's StorageUtility. Puede usar HTML 5, Google Gears o SWF de forma alternativa.

+2

Wow, usa SWF? Eso es terrible. Este es el tipo de cosa que me hace querer apagar el almacenamiento flash por solicitud. Abuso total y furtivo. Me resulta perturbador que una marca como Yahoo y el software de código abierto recurran al tipo de adware de spam por el que es conocido. –

+4

@apphacker: el hecho de que los spammers utilicen una tecnología con fines nefastos no significa que * todos * los usos de esa tecnología sean de alguna manera malvados. No hay nada de malo en usarlo por razones válidas. ¿O deberíamos prohibir los redireccionamientos HTTP porque los spammers los usan para enviar personas a sitios malvados? – NickFitz

+0

@apphacker No puedo ver el punto. Entonces, ¿odias HTML 5 o Google Gears? –

0

Tengo una demostración muy simple para probar webstorage/localstorage de HTML5.

http://www.codebase.es/test/webstorage.html

Puede almacenar lo que quieras, no sólo cadenas. Para almacenar una imagen, copie la imagen en un lienzo y guarde los datos usando el método toDataURL().

Pero no esperar que funcione en IE ...

1

cookies son la forma más compatible para ir que funcione en todos los navegadores. He abierto una pequeña biblioteca para obtener y guardar datos a través de Cookies a través de objetos javascript nativos.

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/cookies.js 

le invitamos a copiarlo y utilizarlo como mejor le parezca. Usted también necesitará el código Javascript aislamiento espacio de nombres si lo usa como es:

http://code.google.com/p/mapbug/source/browse/trunk/app/scripts/namespace.js 

Si usted tiene una gran cantidad de datos, tendrá que distribuirlo amoung muchas galletas diferentes. En general, puede depender de poder guardar hasta 4K de datos por cookie.

1

El YUI StorageUtility es una bonita abstracción, como dijo Andy. Dojo tiene una abstracción similar dojox.storage que también funciona con algunos navegadores más antiguos. Si su cantidad de datos es < 100 KB, entonces simplemente puede usar Flash. Piense cuidadosamente sobre el uso de cookies HTTP, ya que no solo tienen un tamaño limitado, sino que se envían por cable, lo que puede o no ser deseable.

Cuestiones relacionadas