首页 > 解决方案 > Safari 没有触发 localStorage 事件

问题描述

我有一个像这样的简单页面:https ://samesite2.herokuapp.com/ (如此简单,您甚至可以查看其源代码......)。它有一个 localStorageEvent,当另一个选项卡打开时会触发。

var onLocalStorageEvent = function(e){
        alert('old TAB'); 
   };       
   
window.addEventListener('storage', onLocalStorageEvent, false);

window.localStorage.setItem('openOnePage', Date.now());

如果您在另一个新选项卡中运行 url https://samesite2.herokuapp.com/ ,则会在前一个选项卡中显示一条警报,告诉用户这现在是一个“旧选项卡”。我在 Chrome、FireFox 上对此进行了测试,一切正常,直到..

当我在 iPhone 的 safari 上运行此页面时。我没有在新标签上复制和粘贴,而是单击 [打开此站点] 链接。

在此处输入图像描述

将出现另一个相同的选项卡,但在这种情况下,不会触发 localStorageEvent 并且根本不会显示任何警报。我到处搜索,但根本没有任何线索。这个问题有解决方案吗?请帮忙!

标签: javascriptiossafarilocal-storage

解决方案


推荐阅读