javascript - 当网页未在本地主机上运行时,IE 中的 window.sessionStorage 问题

标签 javascript html internet-explorer

我创建了一个登录网页,它通过 javascript 将用户 ID 和密码发送到 Java servlet。当 servlet 验证凭据时,它会向网页发送响应,我使用以下方法将用户名存储在 sessionStorage 中:

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

在此之后,我使用 window.location.replace("home.html") 导航到一个新页面,然后在主页上,我进一步阅读了 userId使用。

我在 Windows 上使用 Apache Tomcat v8.0

我通过以下方式在浏览器上运行我的登录页面:

  1. localhost:8080/login.html
  2. 10.11.12.13:8080/login.html(来 self 机器的 IP,在 ipconfig 中给出)

本地主机和 IP 的设置在 Chrome 和 Firefox 中运行良好。

但是,在 IE11 中,sessionStorage 仅当我使用 localhost:8080 时才能正常工作。当我提供 IP 地址时,sessionStorage.userId 不会保留其值。

由于 IE 在本地主机上运行良好,我知道 IE 支持 Window.sessionStorage。

我也曾尝试将 userId 保存在一个单独的 .js 文件中,但该值会在页面导航后立即丢失。

任何建议都将受到热烈欢迎。谢谢

最佳答案

我在以下位置找到了答案:Local website renders differently using (IP address or machine name) vs localhost?

事实证明,问题出在我的 html,而不是我的 javascript。我在 head 标签中添加了这一行:

<meta http-equiv="X-UA-Compatible" content="IE=11">

然后修复了它。

关于javascript - 当网页未在本地主机上运行时,IE 中的 window.sessionStorage 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41632035/

相关文章:

javascript - AngularJS 中的只读输入

html - 如何更改列表中单行元素的样式?

javascript - 如何使用 javascript 按名称将年份添加到多个下拉列表中?

css - 条件注释和兼容模式版本不匹配

javascript - 有没有办法重组node_modules?

javascript - 如果选中单选按钮则隐藏内容

php - 错误导致页面关闭并重新打开 - PHP/HTML

javascript - IE7,8 中的下拉菜单需要修复'

javascript - JS 按住一个键有延迟

jquery - 定位来自 jQuery 验证插件的消息