Javascript 存储事件侦听器在Incognito或private窗口中工作不正常
在普通浏览器中,存储事件侦听器正常工作和触发 下面给出了事件侦听器代码Javascript 存储事件侦听器在Incognito或private窗口中工作不正常,javascript,cross-browser,local-storage,microsoft-edge,addeventlistener,Javascript,Cross Browser,Local Storage,Microsoft Edge,Addeventlistener,在普通浏览器中,存储事件侦听器正常工作和触发 下面给出了事件侦听器代码 window.addEventListener('storage', function (e) { console.log("storage event occured here"); },false); 通过使用进行存储更改 localStorage.setItem('logout-event', 'logout'+Math.random()); 在本地存储中所做的任何更改都会正确触发其他浏览器选项卡存储
window.addEventListener('storage', function (e) {
console.log("storage event occured here");
},false);
通过使用进行存储更改
localStorage.setItem('logout-event', 'logout'+Math.random());
在本地存储中所做的任何更改都会正确触发其他浏览器选项卡存储事件。但是,当我在匿名或私有窗口中尝试相同的代码时,它在chrome
和mozilla
浏览器中正常工作,但在Edge
和internetexplorer
浏览器中不正常工作
但在IE
、Edge
和Brave
浏览器专用窗口的情况下,我的网站不会触发此事件。在其他浏览器中,它按预期工作。
是否有任何方法可以使其在
IE
和Edge
浏览器的incognito窗口中工作当窗口的更改区域发生更改时,会发生存储事件
注意:仅当窗口本身以外的窗口进行更改时才会触发存储事件
您可以检查以下示例代码:
<button onclick="changeValue()">Change a Storage Item</button>
<p id="demo"></p>
<script>
window.addEventListener("storage", function myFunction(event) {
document.getElementById("demo").innerHTML = "A change was made in the storage area";
console.log("storage event occured here");
}, false);
function changeValue() {
var x = window.open("popuppage.html", "myWindow", "width=200,height=100");
x.localStorage.setItem("mytime", Date.now());
x.close();
}
</script>
更改存储项
window.addEventListener(“存储”,函数myFunction(事件){
document.getElementById(“demo”).innerHTML=“存储区域中进行了更改”;
console.log(“此处发生存储事件”);
},假);
函数changeValue(){
var x=window.open(“popuppage.html”、“myWindow”、“宽度=200,高度=100”);
x、 setItem(“mytime”,Date.now());
x、 close();
}
打开新窗口并更改本地存储时,将触发存储事件。以上代码在我这方面运行良好(使用IE 11和MS Edge 44版本)
有关存储事件的更多详细信息,请查看。我的问题是事件侦听器未在Incognito或Private窗口(即和Edge)中触发,正常情况下工作正常。我也在使用存储更改代码。结果显示,存储事件将在InPrivate IE浏览器(版本:11.116.18362.0)中触发。您可以尝试更新IE浏览器版本。但是,此事件在InPrivate Edge browser中不起作用,似乎这是一个。我当前的版本是11.523.17134请尝试使用我的代码创建一个新的应用程序,并使用IE 11.523.17134版本在您这边进行测试。如果仍然不工作,可能是IE浏览器设置问题,请尝试。此外,您还可以尝试升级IE浏览器版本。如果仍然无法工作,请尝试使用F12开发者工具检查是否包含一些错误?