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:
localhost:8080/login.html
10.11.12.13:8080/login.html
(von meiner Maschine IP, da inipconfig
)
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.userId
seinen 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
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 –