2017-01-13 1 views
1

Ich habe eine Login-Webseite erstellt, die eine userId und ein Passwort per JavaScript an ein Java-Servlet sendet. Wenn das Servlet die Anmeldeinformationen überprüft, sendet er eine Antwort auf die Webseite und speichere ich den Benutzernamen in session unter Verwendung:window.sessionStorage Problem in IE, wenn die Webseite nicht auf localhost ausgeführt wird

sessionStorage.userId=uName; //read uName from servlet & save userId for this session 

Danach habe ich zu einer neuen Seite navigieren, indem Sie window.location.replace("home.html") verwenden, und im Haus, ich lesen Sie userId für die weitere Verwendung.

Ich benutze Apache Tomcat v8.0 auf Windows.

Ich bin mit meiner Login-Seite auf dem Browser über:

  1. localhost:8080/login.html
  2. 10.11.12.13:8080/login.html (von meiner Maschine IP, da in ipconfig)

Das Setup funktioniert in Chrome und Firefox für localhost und IP.

In IE11 funktioniert sessionStorage jedoch ordnungsgemäß nur wenn ich localhost verwenden: 8080. Wenn ich die IP-Adresse anschließe, behält sessionStorage.userIdseinen Wert nicht bei.

Da IE für localhost funktioniert, weiß ich, dass Window.sessionStorage von IE unterstützt wird.

Ich habe auch versucht, die userId in einer separaten .js-Datei zu speichern, aber dieser Wert ist verloren, sobald die Seite navigiert.

Jeder Vorschlag würde ernsthaft begrüßt werden. Danke

Antwort

1

Ich weiß nicht, ob das hilft, aber es gab eine Zeit, wo Konsole nur verfügbar war, wenn Sie Devtools geöffnet hatten, die zu einigen Ausnahmen und nicht funktionierenden Code führen.

Verwenden Sie die neueste Version von ie11?

Vielleicht hilft das auch: JavaScript localStorage object broken in IE11 on Windows 7

+0

Vielen Dank Harper für Ihre schnelle Antwort, aber wenn es ein Problem mit der IE-Version war, vermute ich, dass es sich gezeigt hätte, wenn ich auch auf localhost lief. Der Speicher scheint gut zu funktionieren, wenn der html über localhost läuft –

Verwandte Themen