Ist localStorage thread sicher?
Ich bin neugierig auf die Möglichkeit von SchädenlocalStorage
Eingabe durch gleichzeitiges Überschreiben in zwei Browser-Registerkarten. Soll ich einen Mutex für den lokalen Speicher erstellen?
Ich habe schon an solche Pseudoklassen gedacht:
LocalStorageMan.prototype.v = LocalStorageMan.prototype.value = function(name, val) {
//Set inner value
this.data[name] = val;
//Delay any changes if the local storage is being changed
if(localStorage[this.name+"__mutex"]==1) {
setTimeout(function() {this.v(name, val);}, 1);
return null; //Very good point @Lightness Races in Orbit
}
//Lock the mutext to prevent overwriting
localStorage[this.name+"__mutex"] = 1;
//Save serialized data
localStorage[this.name] = this.serializeData;
//Allow usage from another tabs
localStorage[this.name+"__mutex"] = 0;
}
Die obige Funktion impliziert einen lokalen Speichermanager, der einen bestimmten Schlüssel des lokalen Speichers verwaltet.localStorage["test"]
zum Beispiel. Ich möchte dies für greasomonkey-Benutzerskripte verwenden, bei denen das Vermeiden von Konflikten Priorität hat.