2016-07-05 9 views
0

Ich habe eine Ordnerstruktur (eine extrahierte Zip-Datei) mit einer Datei namens "config.html", die localStorage aufruft, wenn es geladen wird. Wenn ich eine Instanz dieser Ordnerstruktur auf den Desktop entzippe, starte "config.html", erzeuge einige Daten, die in localStorage gespeichert werden, und extrahiere dann eine andere Instanz der Zip-Datei irgendwo anders auf meiner Festplatte und öffne die sekundäre " config.html ", das localStorage Aufruf bringt die localStorage Daten aus der ersten Instanz von" config.html ", unabhängig von der Position auf meiner Festplatte. Ich bin mir nicht sicher, ob ich etwas falsch mache, oder es ist eine Einschränkung mit localStorage bei lokaler Verwendung. Es scheint, dass beim Abrufen von Daten der localStorage Aufruf nach einem Webseitenname und nicht den gesamten Ordnerpfad, wie ich erwartet wurde. Wenn ich localStorage.clear() aufrufen, löscht es auch Daten für alle Instanzen von "config.html". Im Wesentlichen scheinen alle Webseiten mit dem gleichen Dateinamen an dieselben gespeicherten Daten gebunden zu sein. Gibt es einen Weg dies zu verhindern?Doppelte lokale Webseiten an verschiedenen Standorten greifen auf dieselben lokalen Speicherdaten zu?

Antwort

0

localStorage und sind einzigartig pro Herkunft - das ist Protokoll, Host und Port kombiniert.

Zwei Seiten haben denselben Ursprung, wenn das Protokoll, der Port (wenn einer angegeben ist) und der Host für beide Seiten identisch sind.

Quelle:Same Origin Policy

Da Sie es lokal ausgeführt (nur die HTML-Datei zu öffnen) ohne einen Server mit unterschiedlichen Protokoll, Host oder Port, es ist alles ein Ursprung, also die gemeinsamen Daten. Der Pfadunterschied ist irrelevant