$(document).ready(function(){
let url = location.href;
if(localStorage.getItem("urlOrderView") === url){
alert("Вкладка уже открыта");
let a = window.open(url);
a.focus(); // так не отрабатывает
}else{
localStorage.setItem("urlOrderView", url);
}
$(window).unload(function(){
localStorage.removeItem("urlOrderView");
})
})
Знаете ли вы, что localStorage запускают события? Точнее, событие возникает, когда нечто добавляется, меняется или удаляется из хранилища. Это значит, что когда вы касаетесь localStorage в любой вкладке, все остальные могут узнать об этом. Достаточно прослушивать события в объекте window:
window.addEventListener('storage', function (event) { console.log(event.key, event.newValue); });