2010-05-10 6 views
6

Es ist nett, wenn es keine zu wartende DB gibt und Benutzer sich authentifizieren. Mein Professor hat mich gebeten, ein aktuelles Forschungsprojekt von ihm zu konvertieren, das Bespin verwendet und Fehler berechnet, die von Benutzern in einem Codeeditor als Teil seiner Forschung gemacht werden.Geeignete Datenstrukturen zum Speichern von Dateien in localStorage (HTML5)?

Das Ziel ist es, von MySQL zu HTML5 localStorage vollständig zu konvertieren. Scheint nicht so schwer zu tun, auch wenn das Ausgraben seines Codes einige Zeit in Anspruch nehmen könnte.

Frage:
Ich muss Dateien und Status speichern (letzte Platzierung von Cursor und aktive Datei). Ich habe dies bereits getan, indem ich die Empfehlungen in another stackoverflow thread umgesetzt habe. Aber möchten Sie Ihre Eingabe darüber, wie Sie den zu verwendenden Inhalt strukturieren.

Meine aktuelle Lösung> HashMap ähnliche Lösung mit JavaScript-Objekten:

files = {}; 
// later, saving 
files[fileName] = data; 

und Speicher dann in localstorage einig recommendations

localStorage.setObject("files", files); 
// Note that setObject(key, data) does not exist but is added 
// using Storage.prototype.setObject = function() {... 
mit

Zeit auch ich überlege, irgendeine Art von numerischer ID verwenden. So können Namen ohne Probleme geändert werden, indem der Schlüssel in der Hashmap umbenannt wird. Was ist deine Meinung über die Art, wie es gelöst wird und würdest du es anders machen?

Antwort

8

Zur Zeit habe ich nachdem ich etwas zu lesen und Forschung entschieden, dass der beste Weg, um alles zu speichern, in Objekten mit Objekten Literale zu gehen:

var files = {}; 
// Add loads of data 

Und dann sie JSON.stringify() mit Speicherung:

localStorage.setItem('myFiles', JSON.stringify(files)); 

Dies ist eine gute Vorgehensweise, da es große Mengen an Informationen speichert, die einfach zu speichern und zugänglich sind. Außerdem wird es nicht verwirrend, wenn man die einfache Art des Hinzufügens von Schlüssel-Wert-Paar-Informationen in localStorage und die Verwendung der localStorage.setItem(key, value) Funktion

+1

JSON ist die Antwort hier ... – gnarf

+0

anscheinend können Sie es einfach wie ein Objekt behandeln: 'localStorage ['myFiles'] = JSON.stringify (Dateien)' oder 'localStorage.myFiles = JSON.stringify (Dateien)' –

Verwandte Themen