2012-03-12 20 views
14

Nell'uso della funzionalità WebStorage HTML5, so che alcuni browser, come Chrome, dispongono di strumenti di sviluppo che consentono agli utenti di navigare attraverso i contenuti del loro WebStorage a scopo di debug e di risoluzione dei problemi.Come vengono archiviati i dati HTML5 WebStorage?

Mi chiedevo se è possibile visualizzare il contenuto della memoria Web nel file system. Questo contenuto è memorizzato in file di testo sul file system che si trovano in una posizione standard? Oppure questi dati sono memorizzati in alcuni formati binari proprietari dai vari browser e non sono progettati per essere accessibili o visualizzabili sfogliando il file system?

La mia motivazione per questa domanda è di vedere se è possibile visualizzare il contenuto di WebStorage sul file system come aiuto per lo sviluppo e il debug, e anche solo per curiosità vedere anche come questi dati vengono effettivamente memorizzati.

Grazie.

+0

Dipende dal browser. – Quentin

+0

È possibile trovare http://www.w3schools.com/html5/html5_webstorage.asp utile. – Hope4You

+3

@ Hope4You - Improbabile poiché (a) è w3schools (e quindi terribile) e (b) interamente focalizzato sulle API fornite dai browser e non sul loro interno. – Quentin

risposta

10

Chrome utilizza SQLite per LocalStorage.

Ho confermato questo andando a AppData\Local\Google\Chrome\User Data\Default\Local Storage sul mio PC locale e visualizzando il contenuto di un file. I file iniziano con "SQLite formato 3" se visualizzati tramite un editor di testo. Avrai bisogno di un visualizzatore di database SQLite per visualizzare i dati.

+0

Grazie Nunnery, è un'ottima informazione! Hai qualche idea su Firefox o IE? –

+0

FireFox utilizza anche database SQLite per HTML5 WebStorage. Raccomando di usare [addon per FireFoxes SQLite Manager] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/) per visualizzare i database SQLite sul tuo filesystem locale. –

7

In Mac OS X, questo è stato a ~/Library/Application Support/Google/Chrome/Default/Local Storage

ho usato il Command Line Shell For SQLite a guardarsi intorno. Supponendo www.example.com è stato un sito vero e proprio, è possibile eseguire questi comandi:

$ sqlite3 http_www.example.com_0.localstorage 
sqlite> .tables 
ItemTable 
sqlite> .schema 
CREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB NOT NULL ON CONFLICT FAIL); 
sqlite> select * from ItemTable; 
stringkey|value 
jsonkey|{"key","value"} 
sqlite> .exit 

Vedere Where does firefox store javascript/HTML localStorage? per la posizione di memoria di Firefox. Chrome utilizza singoli file sqlite per nome host e protocollo, in cui Firefox utilizza un singolo file webappsstore.sqlite con il nome host e il protocollo invertiti in una colonna di ambito.

Vedere Where the sessionStorage and localStorage stored? per la posizione di archiviazione Opera. Opera utilizza un file indice XML e singoli file XML per i dati codificati Base64.

3

Volevo solo di contribuire per IE 11. Il localStorage viene memorizzato in: C: \ Utenti [il tuo account utente] \ AppData \ LocalLow \ Microsoft \ Internet Explorer \ DOMStore

Tuttavia, è nascosta per impostazione predefinita . Per mostrare questa cartella devi: Opzioni cartella -> Deseleziona "Nascondi file del sistema operativo protetto" Torna alla cartella, vedrai alcune sottocartelle all'interno. Vai a ogni cartella vedrà alcuni file XML in base ai siti web.

Problemi correlati