Wird das LocalStorage-Objekt in HTML5 pro Seite / Domäne isoliert?
Ist die HTML5 localStorage-Objekts isoliert pro Seite/domain? Ich Frage mich da, wie ich den Namen "localStorage" - Tasten. Brauche ich ein separates Präfix? Oder kann ich benennen, was ich will?
InformationsquelleAutor der Frage Nathan Moos | 2010-11-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist pro-Domäne (das gleiche segregation Regeln wie die same-origin-policy), um es pro-Seite, die Sie würde die Verwendung eines Schlüssels auf der Grundlage der
location
oder einige andere Ansatz.Du nicht müssen ein Präfix verwenden, wenn Sie es brauchen obwohl. Auch, ja, Sie können benennen, was Sie wollen.
InformationsquelleAutor der Antwort Nick Craver
Läden sind pro Herkunftwo der Ursprung ist der gleiche wie für die Same-Origin-Policy (eine Kombination von schema [
http
vs.https
etc.], port und host). Von die Skillung:So, die Speicher für
http://a.example.com
und die Lagerung fürhttp://b.example.com
getrennt sind (und Sie sind beide getrennt vonhttp://stackoverflow.com
), denn diese sind alle von verschiedenen hosts. Ebensohttp://example.com:80
undhttp://example.com:8080
undhttps://example.com
alle sind unterschiedlicher Herkunft.Es ist kein Mechanismus integriert web-Speicher, der es einem ermöglicht, origin Zugriff auf den Speicher eines anderen.
Beachten Sie, dass es Herkunftkeine URL, so
http://example.com/page1
undhttp://example.com/page2
beide haben Zugriff auf den Speicher fürhttp://example.com
.InformationsquelleAutor der Antwort T.J. Crowder
Yeah, jede domain/subdomain hat eine andere "localStorage" und Sie können die Tasten, was Sie wollen (Vorwahl ist nicht erforderlich).
Bekommen einen Schlüssel, den Sie verwenden können, die Methode key(index) wie
Es wurde ein Objekt genannt globalStorage vor, wo man mehrere localStorages, aber es ist veraltet, von den specs
InformationsquelleAutor der Antwort sebarmeli
Ich würde immer mit einem Präfix, nur um zu vermeiden, mögliche Kollisionen mit dem Benutzer Skripts, die verwenden könnte, "localStorage" zu.
InformationsquelleAutor der Antwort Benjol
Wie andere haben darauf hingewiesen, "localStorage" ist einmalig pro Protokoll, host & port. Wenn Sie möchten, eine praktische Möglichkeit zur Steuerung Ihren Speicher mit dem Präfix Tasten, schlage ich vor,localDataStorage.
Nicht nur, dass es helfen durchzusetzen segmented shared storage innerhalb der gleichen Domäne, indem Tasten, ist es auch transparent speichert javascript-Datentypen (Array, Boolean, Date, Float, Integer, String und Object), bietet eine leichte Verschleierung Daten, werden automatisch komprimiert, Streicher und erleichtert die Abfrage von key (name) sowie für die Abfrage von (Schlüssel -) Wert.
[DISCLAIMER] ich bin der Autor des utility [/DISCLAIMER]
Beispiele:
Wie Sie sehen können, primitive Werte respektiert werden, und Sie können mehrere Instanzen zur Kontrolle Ihrer Lagerung.
InformationsquelleAutor der Antwort Mac
Ist es überall auf dieser Domäne als Nick vorgeschlagen, als alternative gibt es sessionStorage funktioniert etwas anders, es ist deutlich, das browser-Fenster selbst. Das ist zu sagen, dass in anderen tabs oder Fenstern auf die gleiche Domäne haben keinen Zugriff auf dieselbe Kopie der storage-Objekt.
InformationsquelleAutor der Antwort Matt