2009-09-22 4 views
6

Nelle mie demo, vorrei evitare di utilizzare DB tradizionali e archiviare tutti i dati sul lato client, ad es. informazioni inviate tramite un modulo.Persistenza lato client (archiviazione)

Quali alternative ho per questo. Ho sentito parlare di Gears, ma non ho alcuna esperienza pratica.

Posso anche memorizzare informazioni binarie oltre alle stringhe, ad es. un'immagine?

risposta

5

Si può avere uno sguardo su YUI's StorageUtility. Può utilizzare HTML 5, Google Gears o SWF su una base di riserva.

+2

Wow, utilizza il SWF? È terribile. Questo è il tipo di cosa che mi fa desiderare di disattivare la memoria flash in base alle richieste. Abuso totale e subdolo. Trovo inquietante che un marchio come Yahoo e il software open source facciano ricorso al tipo di cosa per cui lo spam adware è noto. –

+4

@apphacker: solo perché gli spammer usano una tecnologia per scopi nefandi non significa che * tutti * gli usi di quella tecnologia siano in qualche modo cattivi. Non c'è niente di sbagliato nell'usarlo per motivi validi. O dovremmo vietare i reindirizzamenti HTTP perché gli spammer li usano per inviare persone a siti malvagi? – NickFitz

+0

@apphacker Non riesco a vedere il punto. Quindi odi HTML 5 o Google Gears? –

0

Ho una demo molto semplice per testare la webstorage/localstorage di HTML5.

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

È possibile memorizzare tutto quello che vuoi, non solo le stringhe. Per memorizzare un'immagine, copia l'immagine in una tela e salva i dati usando il metodo toDataURL().

Ma non aspettatevi di lavorare su IE ...

1

I cookie sono il modo più sostenuto per andare che funzionerà tutti i browser. Ho aperto una piccola libreria per ottenere e salvare dati tramite Cookie tramite oggetti javascript nativi.

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

siete invitati a copiarlo e utilizzare come meglio credi. Avrete anche bisogno di questo codice isolamento namespace javascript se lo si utilizza come è:

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

Se si dispone di una grande quantità di dati, si dovrà distribuirlo amoung molti biscotti differenti. Generalmente puoi dipendere dal fatto di poter salvare fino a 4K di dati per cookie.

1

YUI StorageUtility è una bella astrazione, come ha detto Andy. Dojo ha un'astrazione simile dojox.storage che funziona anche con alcuni vecchi browser. Se la quantità di dati è < 100 KB, è possibile utilizzare semplicemente Flash. Pensa attentamente all'uso dei cookie HTTP, poiché non sono solo di dimensioni limitate, ma sono inviati via cavo, il che può essere o non essere desiderabile.