• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

LocalStorage ?

MalcomX

New member
Guten Morgen erst mal ! ! !

Folgender Fall und in PHP kann ich dazu Session Vars verwenden, jedoch wie handelt man so etwa in JS.

Es dreht sich um ein Bestellsystem, das wenn schon einmal Artikelvarianten gewählt wurden, das man dies irgendwo zwischenspeichert. Bei der Wahl einer anderen Artikel Größe soll somit ein Hinweis erscheinen, das die Artikelvarianten neu gewählt werden müssen.

Oder z.B das merken in welcher Kategorie sich der User befindet.

Hierzu würde sich ja das LocalStorage anbieten, jedoch wird die nur von neueren Browsern unterstützt.

Wie handelt man sowas in JS ?

Gruß und euch allen einen schönen Tag
Malcom
 
Vielen lieben Dank für deine Antwort ;)

Also wenn ich das richtig sehe ist von der Verwendung von LocalStorage noch eher abzuraten oder ?

Euch allen ein schönes Wochenende
Malcom
 
Es gibt Leute, die Cookies deaktivieren, und es gibt die, die Localstorage nicht unterstützen. Wenn es dir also wirklich drauf ankommt, würde ich beides implementieren und jeweils das nutzen, was verfügbar ist. Ich würde allerdings, wenn beides verfügbar ist, Localstorage nehmen, da dies nicht einfach abschaltbar ist, also immer verfügbar ist, wenn es einmal verfügbar war.
E: Beachte aber besonders bei Cookies, die Größe nicht zu übertreiben (unter 4093 Bytes für Schlüssel und Inhalt). Bei LocalStorage würde ich 10MB Inhalt als Grenze empfehlen, da langsame Systeme sind noch langsamer werden.
 
Zuletzt bearbeitet:
Heyho,

ich habe bei localStorage das eine oder andere bereits erlebt - und selbst default-Werte waren nicht garantiert. Wie Du jetzt 10 MB empfiehlst, wäre es mir sehr entgegen kommend, wenn Du mir die Quelle zeigst, dass dies so wäre.

Ja, man kann sich das individualisiert einstellen - aber das sollte man tunlichst nicht als Grundlage für fremde Besucher voraussetzen. Mach ich hier jetzt also einen Test auf der Konsole ...

Code:
alert(1024 * 1024 * 5 - unescape(encodeURIComponent(JSON.stringify(localStorage))).length);

... sagt FF: 5242878 (Inhalt: 2)
... sagt Chrome: 5242136 (Inhalt: 744)
... sagt Edge: 5242612 (Inhalt: 268)
... sagt Opera: 5242686 (Inhalt: 194)

Fazit: ~ 5 MB ... und die sind wirklich mit Vorsicht einzufordern.

Aber URL nehme ich dennoch ... :)
 
@Steel: was ist das denn für eine Rechnung? Die ergibt für mich überhaupt keinen Sinn. Du ziehst von 5 MB die Länge von der JSON-Repräsentation des localStorage-Inhalts ab und schließt dann
... das hat doch keinerlei Aussagekraft.

@MalcomX: Nach deiner Beschreibung brauchst du gar keinen permanenten Speicher, sondern einfach ganz normale Variablen. Oder sind die Größenauswahl und die Variantenauswahl auf verschiedenen Seiten (und deswegen in verschiedenen JS-Kontexten)?
 
Macht der Gewohnheit ... bin zu sehr in einem Projekt drin - da stifte ich immer gern Verwirrung beim ersten Eindruck.

Versuche ich einen zweiten: Es gibt seitens W3C die Empfehlung dies durch die Clients (Browser) zu limitieren, damit eben nicht das Laufwerk zugemüllt werden kann (bspw. bei einem "unlimited"-Setting).

Meine Rechnung oben kommt daher, dass dies zweierlei ist: Die Erfahrung mit dem "Space" (sorry für die Verwirrung) und eine Möglichkeit zur Abfrage, was schon belegt ist (und das klappte bislang i. d. R. prima - egal, was und wie Du es darin abgelegt hast; mich interessierten nie die items darin, sondern eben das Volumen).

Wenige Links:
A: HTMLspecs
B: Test-Reihe (der spricht sogar von 2,5 MB höchstens)
C: noch ein Test

Würfel ich noch ein wenig Erfahrung dazu, halte ich mich persönlich auch lieber unterhalb der 5 MB.

Der kleine Test oben - eben direkt mit der 5 - gab an, was noch frei ist; "Inhalt" die derzeitige Belegung in den nackten Browsern (da localStorage hier gewöhnlich gegrillt).

Sorry nochmals ... !
 
N'Abend erst mal ;)

@MalcomX: Nach deiner Beschreibung brauchst du gar keinen permanenten Speicher, sondern einfach ganz normale Variablen. Oder sind die Größenauswahl und die Variantenauswahl auf verschiedenen Seiten (und deswegen in verschiedenen JS-Kontexten)?

Ja manchmal dreht man sich im Kreis und habs jetzt über Variablen gelöst ;)

Trotzdem lieben Dank nochmal an alle und doch interessant falls man es mal benötigt.

Gruß udn euch allen ein schönes Wochenende
Malcom
 
Zurück
Oben