Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] - HTML5 LocalStorage in MSIE >= 9
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

[gelöst] - HTML5 LocalStorage in MSIE >= 9

beantworten | zitieren | melden

Hallo,

ich hab jetzt seit ein paar Tagen immer mal wieder eine zeitlang nach einer Lösung, bzw. Bug, gesucht und finde einfach nichts für das "simple Problem".

Ich habe in einem lokalen Netzwerk eine Webanwendung, welche lokal auf den Clients das LocalStorage Objekt benutzt für Benutzereinstellungen.

Chrome und die neusten FF-Versionen laufen so, wie sie auch sollen, nur der Internet Explorer "zickt" rum und verhält sich so, als ob es sich um ein LocalSession Objekt handelt, das bedeutet, während der Session speichert er alles so wie es auch sein soll, aber wenn ich eine neue Session aufmache, dann sind die Einstellungen alle weg.

Vielleicht "stolpert" hier einer mal drüber und kennt das Problem, denn ich weiß jetzt aktuell auch nicht weiter - dachte, dass es MSIE 11 unterstützt, weil ich auf dem 9er das Phenomän beobachtet habe und dann auf MSIE 11 ein Update durchgeführt habe aber mit dem gleichen Ergebnis.

Wer benutzt eigentlich diesen Dino noch? - Leider muss ich den auch unterstützen

Also, in einer Session funktioniert alles aber sobald ich eine neue aufmache oder ein neues Fenster öffne im IE, dann ist alles weg - sehr komisch.
Dieser Beitrag wurde 5 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.928

beantworten | zitieren | melden

Den IE als Dino bezeichnen ist mehr als leichtsinnig, denn gerade der IE 9-10 hat in Unternehmen noch eine Anteil von über 70%.

Der IE unterstützt wie alle anderen Browser den HTML5 Storage sauber und korrekt.
Worin sich der IE unterscheidet ist, dass Du das Dokument nicht via UNC Pfad öffnen darfst, sondern immer nur über einen Webserver.
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Vielen Dank, du hast mir mal wieder helfen können.
Mit einer lokalen Domain funktioniert das auch im IE und zwar über eine Session hinweg

... da muss man erst mal draufkommen.
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Ich muss jetzt doch noch einmal den Thread hier öffnen.
Ich habe lokal eine Domain vergeben für den lokalen IIS und dann funktioniert es im IE auch nach einem Refresh in der gleichen Browsersession - was vorher nicht ging.

Nun ist es aber immer noch so, wenn ich eine neue Browsersession öffne mit neuem Fenster, dann sind die Einstellungen wieder weg ... wtf?
Ich kann mir nicht vorstellen, dass man im Intranet diese Funktionalität nicht benutzen kann.
Es muss doch auch möglich sein für "Web-"Applikationen, die im lokalen Netzwerk laufen?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.928

beantworten | zitieren | melden

Ich verwende das selbst im Intranet und IE9 bis 11.
Funktioniert einwandfrei (mit einer corp-Domain und nicht .local, FYI).
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Ich hab das jetzt nochmal ausprobiert mit einer Domain im Web. Funktioniert da komischerweise auch nicht.

Ich rufe eine Domain im Netz auf und lasse mir eine Variable vom localStorage anzeigen und setze danach einen default-Wert.
Immer, wenn ich die Seite in einem neuen Fenster aufrufe, dann ist das Teil empty. Bei einem Refresh im Browser ist das Teil gesetzt.
Das Verhalten ist wie bei einem localSession-Objekt. WTF?
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15.928

beantworten | zitieren | melden

Sicher, dass Du localStorage und nicht sessionStorage verwendest?
Was sagt der Chrom Debugger zum aktuellen Zustand (F12) bzw. Firefox Developer (nicht der normale FF).
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Zitat von Abt
Sicher, dass Du localStorage und nicht sessionStorage verwendest?
Was sagt der Chrom Debugger zum aktuellen Zustand (F12) bzw. Firefox Developer (nicht der normale FF).

Nachtrag:

Wenn ich aus einem fremden Netz die Domain aufrufe (in meinem Netz), dann funzzt es auch im IE. Wenn ich aus meinem Netz die Domain aufrufe, dann verhält es sich wie ein sessionStorage-Objekt.

Chrome und FF funktionieren einwandfrei, so wie erwartet.
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Ich hab den Fehler gefunden:

Ich muss wirklich EXPLIZIT die Werte mit setItem und getItem abfragen.

Ein Beispiel. Wenn ich eine variable xyz den Wert "Hello, World" zuweisen möchte, dann geht es im Internet Explorer nur in einer Session mit:
locaStorage.xyz = "Hello, World";
alert(localStorage.xyz)

Bei den anderen Browsern funzzt das auch über eine Session hinweg.
Beim Internet Explorer nicht, da muss man dann folgendes verwenden, was auch in allen anderen Browsern funktioniert.

locaStorage.setItem("xyz", "Hello, World");
alert(localStorage.getItem("xyz"))

Naja, wieder was gelernt. Vielen Dank für deine Hilfe.
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

Fu***, ich dreh durch

Wenn ich das IE-Fenster zumache und innerhalb von 5 Sekunden ein neues aufmache, dann geht es, nach 5 Sekunden ist alles wieder weg, wtf?

Ggf. liegt es daran, dass noch nicht alles komplett aufgeräumt wurde und alte Sachen beim Neustart wiederverwendet werden.

Ich werd aus diesem Verhalten nicht schlau.

Nachtrag:
Auch aus einem fremden Netz heraus wird dann der Wert wieder zurückgesetzt nach bestimmter Zeit. Verhalten wie ein sessionStorage-Objekt auch im Netz. Muss man da im IE was einstellen?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von mosspower am .
private Nachricht | Beiträge des Benutzers
mosspower
myCSharp.de - Member

Avatar #avatar-2662.jpg


Dabei seit:
Beiträge: 452
Herkunft: Bamberg

Themenstarter:

beantworten | zitieren | melden

OK, jetzt doch noch gelöst und zwar (universal), egal ob lokal oder im Internet.

Das berühmte Häckchen "Delete browsing history on exit" muss deaktiviert werden, welches standardmäßig aktiv ist.

Gott sei dank erledigt.
private Nachricht | Beiträge des Benutzers