Javascript 在IE 11企业模式下未触发本地存储事件

Javascript 在IE 11企业模式下未触发本地存储事件,javascript,jquery,html,internet-explorer,Javascript,Jquery,Html,Internet Explorer,我的web应用程序正在IE 11企业模式下运行,因为该应用程序现在与IE 8兼容(即尚未支持IE 11) 我正在使用localStorage,并试图在localStorage中的密钥更改时执行一些操作(即重定向到注销页面) 请注意,以下代码在IE 11(即非企业模式)和IE调试模式(版本设置为8)下运行良好。只有当浏览器处于IE 11企业模式时,我才遇到问题 我已附加了如下所述的侦听器:- if (window.addEventListener) {

我的web应用程序正在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
};  
function saveLogoutInLocalStorage() {
    if (typeof(Storage) !== "undefined") {
        localStorage.setItem('is_logout','true');                       
    }
}
在其中一个选项卡中单击注销时,在其他选项卡中执行某些操作的功能:-

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
};  
function saveLogoutInLocalStorage() {
    if (typeof(Storage) !== "undefined") {
        localStorage.setItem('is_logout','true');                       
    }
}
单击注销按钮时在localStorage中设置值:-

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
};  
function saveLogoutInLocalStorage() {
    if (typeof(Storage) !== "undefined") {
        localStorage.setItem('is_logout','true');                       
    }
}

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

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

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

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


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