【问题标题】:Local storage event not triggered in IE 11 Enterprise mode在 IE 11 企业模式下未触发本地存储事件
【发布时间】:2017-08-10 17:40:03
【问题描述】:

我的网络应用程序正在 IE 11 企业模式下运行,因为该应用程序现在与 IE 8 兼容(即尚不支持 IE 11)。

当 localStorage 中的密钥发生更改时,我正在使用 localStorage 并尝试执行一些操作(即重定向到注销页面)。

请注意,以下代码在 IE 11(即非企业模式)IE 调试模式(版本设置为 8) 下运行良好。仅当浏览器处于 IE 11 企业模式时才会出现问题。

我已附加如下所述的监听器:-

if (window.addEventListener) {                                          
    window.addEventListener("storage", handle_storage, false);                      
} else {                        
    window.attachEvent("onstorage", handle_storage);
}

在其中一个选项卡中单击注销时在其他选项卡中执行某些操作的功能:-

var handle_storage = function () {                   
    //some action i.e. redirecting to logout page
};  

点击注销按钮时设置localStorage中的值:-

function saveLogoutInLocalStorage() {
    if (typeof(Storage) !== "undefined") {
        localStorage.setItem('is_logout','true');                       
    }
}

【问题讨论】:

  • “PS:这不是一个重复的问题。我在发布这个问题之前已经搜索了很多。” 不具建设性。人们要么会找到一个较早的版本并帮助你指出它,要么他们不会。像这样的评论只会让人走开。
  • 你知道你的企业模式用的是什么吗?它可以是 IE7 或 IE8。在 IE7 afaik 中不支持这些事件。即使,我也不确定企业模式是否支持本地存储......
  • @eisbehr: 如果它在模拟 IE8,希望它确实如此,因为 IE8 支持本地存储(尽管我从未检查过 IE8 是否支持 storage 事件;连IE10和IE11都有bugs in the event)。
  • 企业模式设置为IE8。我只是想知道当我在设置为 IE8 的调试模式下运行时它是如何工作的?在不使用 localStorage 的情况下,还有其他可用于多选项卡注销方案的替代解决方案吗?
  • 如果你可以确认企业模式运行的是IE8而不是IE7,并且你可以确认IE8模式下的普通IE11工作正常,那么它开始闻起来很像企业模式下的一个bug,在这种情况下,您可能需要联系 Microsoft 支持。 (如果您使用的是企业模式,我假设您有一份支持合同,所以您也可以使用它)。我可以很容易地想象到这是一种直到现在才被忽视的错误,因为使用 localStorage 的网站往往与升级有困难的网站不同。

标签: javascript jquery html internet-explorer


【解决方案1】:

这个问题发生在我身上,因为页面是在兼容模式下加载的。试试这个

   <meta http-equiv="X-UA-Compatible" content="IE=8,IE=9,IE=7"> 

【讨论】:

    猜你喜欢
    • 2016-08-29
    • 1970-01-01
    • 1970-01-01
    • 2018-04-13
    • 2016-06-22
    • 1970-01-01
    • 2015-05-16
    • 1970-01-01
    • 2021-09-17
    相关资源
    最近更新 更多