Являются ли страницы панели инструментов и не панели инструментов одним и тем же источником?Тогда вы могли бы сделать такой подход:
// constructor in a component belonging to the dashboard
document.addEventListener("visibilitychange", () => {
if (!document.hidden) {
const nonDashBoardTabStatus: string = sessionStorage.getItem("nonDashBoardTabStatus");
// do something with the retrieved information
}
}
);
А в компонентах, не относящихся к приборной панели, вы делаете:
sessionStorage.setItem("nonDashBoardTabStatus", "SOME_STATUS");
Теперь вам просто нужно позаботиться о том, чтобысуществование non-dashboard-info не гарантируется (sessionstorage может не быть совместимым между abs в некоторых браузерах, или, возможно, одна вкладка не заканчивает писать до того, как другие становятся активными), поэтому вы можете захотеть поставить там цикл, извлекающий данные и имеющийзапасной вариант.