【发布时间】:2020-01-06 22:20:27
【问题描述】:
在 Microsoft Edge 中,当我右键单击链接并使用“在新选项卡中打开”选项时,我可以看到/访问在初始页面中创建的 sessionStorage 值。但是,Chrome 和 Firefox 浏览器不存在此问题。你可以在这个JSFiddle看到这个问题。
- 打开 JS Fiddle 链接(在 Edge 中)
- 输入任何文本。观察输入的文本显示在输出部分文本字段项中
- 右键单击“运行”按钮并选择“在新选项卡中打开”。可以在此新选项卡中访问在另一个浏览器选项卡中的上一步中输入的文本。根据documentation sessionStorage 是为每个选项卡创建的,它是选项卡私有的。
如果您在 Chrome 或 Firefox 中重复这些步骤,您将不会看到此问题。为什么 Edge 浏览器中的 sessionStorage 与 Firefox 和 chrome 等其他浏览器的行为不同?在 Edge 浏览器中是否有解决此问题的方法?
<span>Your Name is</span> <input type="text" id="name"/>
(function() {
// check value exists or not in session storage
if (sessionStorage.getItem("username") == null || sessionStorage.getItem("username") == undefined)
{
vUserName = prompt("Enter your name");
sessionStorage.setItem("username", vUserName);
}
document.getElementById("name").value = sessionStorage.getItem("username");
})();
【问题讨论】:
标签: javascript html microsoft-edge session-storage