IE 11-不会删除或清除新标签页或窗口的sessionStorage

时间:2018-11-15 11:30:38

标签: angular internet-explorer angular5 internet-explorer-11

我在angular项目中使用sessionStorage对象保存一些数据进行处理。以某种方式,它在IE 11浏览器中表现得很奇怪。

  sessionStorage.setItem('data-x', '1000');

当我从现有应用程序页面打开新选项卡或窗口并使用与应用程序相同的URL或不同的URL时,它还会共享sessionStorage数据。这就是我所期望的... 对于新选项卡| windows,它必须删除现有的sessionStorage数据并清理板岩。但是在IE 11中并没有这样做。

在Chrome中,当用户从现有应用页面打开新标签页或窗口时,它不会共享sessionStorage对象。

1 个答案:

答案 0 :(得分:0)

以下代码似乎可以在Windows 10的IE11中为我解决问题:

window.addEventListener("storage", function (changes) {
    //workaround for IE11 storage synchronization problem.
    //Leave this in place, empty or not

    // Optionally do something
    //if (changes["key"] == "data-x") { //Do something; }
});

根据以下答案进行了修改: https://stackoverflow.com/a/42377129/4805434

老问题,但是我花了太多时间试图让localStorage在IE11中的选项卡之间同步。该解决方案似乎也有助于清除sessionStorage中的新标签页和窗口。