gpt4 book ai didi

javascript - 存储事件监听器在隐身或私有(private)窗口中无法正常工作

转载 作者:行者123 更新时间:2023-11-30 19:27:09 26 4
gpt4 key购买 nike

在普通浏览器中,Storage 事件监听器正常工作和触发

事件监听代码如下

window.addEventListener('storage', function (e) {
console.log("storage event occured here");
},false);

使用改变存储

 localStorage.setItem('logout-event', 'logout'+Math.random());

当对本地存储进行任何更改时,它会正确触发其他浏览器选项卡存储事件。但是当我在隐身或私有(private)窗口中尝试相同的代码时,它在 chromemozilla 浏览器中正常工作,但在 EdgeInternet Explorer 中无效 浏览器

但是在 IEEdgeBrave 浏览器私有(private)窗口的情况下,我的网站不会触发此事件。在其他浏览器中,它按预期工作。有没有办法让它在 IEEdge 浏览器的隐身窗口中工作

最佳答案

当窗口的变化区域发生变化时发生存储事件。

注意:存储事件仅在自身以外窗口进行更改时触发。

您可以检查以下示例代码:

<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>

当打开一个新窗口并更改本地存储时,会触发存储事件。上面的代码在我这边运行良好(使用 IE 11 和 MS Edge 44 版本)。

更多存储事件详情,请查看this article .

关于javascript - 存储事件监听器在隐身或私有(private)窗口中无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56785954/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com