我确信,这个问题在某种程度上已经出现了很多次,但是没有什么真正帮助我的。
我会讲到重点,
我已经打开了应用程序的多个标签。并且从一个选项卡注销时,应刷新其他选项卡。所以我写的代码是这样,
localStorage.setItem('logout-event', 'logout' + Math.random());
和
window.addEventListener('storage', function (event) {
if (event.key == 'logout-event') {
$('<div>You are logged out. The page will be refreshed.</div>', { id: "confirmBox" }).dialog({
resizable: false,
height: 140,
modal: true,
buttons: {
Ok: function () {
$(this).dialog("close");
window.location.reload(true);
},
}
});
}
}, false);
这在除IE之外的所有其他浏览器中都有效。我知道有诸如sessionStorage,postMessage等之类的选项。如果我得到与localstorage类似的答案,那将不胜感激,但这适用于IE。
谢谢。
请访问以下站点,以获取有关存储API的浏览器兼容性的更多信息
https://developer.mozilla.org/en-US/docs/Web/API/Window/storage_event
https://caniuse.com/#feat=mdn-api_storageevent
https://caniuse.com/#search=storage
因为IE不支持存储事件API,但最新版本的edge <18。