如何解决如何防止在ie11,Safari和Safari ios的另一个标签中打开相同的网址
我正在建立一个网页,希望用户只能在同一浏览器的一个选项卡中打开。
可能是当用户在第二个标签页中打开相同的网址时。警报“请仅在一个标签中打开此页面”。将弹出,并且在用户单击“确定”按钮后,窗口将跳至另一个页面的标题(例如index.html)。
我使用LocalStorge,其中引用了from here。
window.localStorage.setItem('openOnePage',Date.now());
var onLocalStorageEvent = function(e){
if(e.key == "openOnePage"){
window.localStorage.setItem('pageAlreadyOpen',Date.now());
}
if(e.key == "pageAlreadyOpen"){
alert("You already opened thsi page on another tab,Please only open this page in one tab.");
window.location.href="index.html";
return false;
}
};
window.addEventListener('storage',onLocalStorageEvent,false);
它在chrome,firefox和edge中都可以正常工作。 但这在ie11,Safari和Safari ios中不起作用。
我做了很多搜索,在Safari中似乎是因为Safari在同一标签中触发了StorageEvent。我尝试使用添加 !document.hasFocus() from here进行修复,但仍然无法正常工作。
是否有其他方法可以解决此问题或在所有浏览器中执行相同的操作? (最好在客户端) 任何帮助将不胜感激。 > _
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。