我创建了一个登录网页,通过javascript将userId和密码发送到Java servlet。当servlet验证凭据时,它会向网页发送响应,并使用以下命令将userName存储在sessionStorage中:
quit()
在此之后,我使用sessionStorage.userId=uName; //read uName from servlet & save userId for this session
导航到新页面,在家中,我阅读了window.location.replace("home.html")
以供进一步使用。
我在 Windows 上使用 Apache Tomcat v8.0 。
我正在浏览器上运行我的登录页面:
userId
localhost:8080/login.html
(来自我的机器的IP,在10.11.12.13:8080/login.html
中提供)此设置在Chrome和Firefox中适用于localhost和IP。
但是,在IE11中,sessionStorage只有才能正常工作我使用localhost:8080。当我提供IP地址时,ipconfig
不会保留其值。
由于IE对localhost工作正常,我知道IE支持Window.sessionStorage。
我也尝试将userId保存在单独的.js文件中,但只要页面导航,该值就会丢失。
任何建议都会受到热烈欢迎。感谢
答案 0 :(得分:2)
我找到了答案:Local website renders differently using (IP address or machine name) vs localhost?
事实证明,问题出在我的HTML上,而不是我的javascript。我在头标记中添加了这一行:
<meta http-equiv="X-UA-Compatible" content="IE=11">
并修复了它。
答案 1 :(得分:1)
不知道这是否有帮助,但是有一段时间只有控制台可用,如果你打开devtools会导致一些例外而不是代码。
您使用的是最新版本的ie11吗?
也许这也有帮助: JavaScript localStorage object broken in IE11 on Windows 7