Обрабатывать вкладку браузера в угловых 5 - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть ситуация, но у меня нет решения, чтобы сделать это, надеюсь, вы, ребята, можете мне помочь.

  1. Я на странице панели инструментов (вкладка 1), я отрицательно отношусь кНовая страница на новой вкладке браузера (вкладка 2).
  2. На новой вкладке браузера (вкладка 2) я что-то делаю, затем закрываю ее.После этого я хочу повторно активировать страницу панели инструментов (вкладка 1) и перезагрузить ее.Как я могу это сделать?

1 Ответ

0 голосов
/ 25 декабря 2018

Являются ли страницы панели инструментов и не панели инструментов одним и тем же источником?Тогда вы могли бы сделать такой подход:

// 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 в некоторых браузерах, или, возможно, одна вкладка не заканчивает писать до того, как другие становятся активными), поэтому вы можете захотеть поставить там цикл, извлекающий данные и имеющийзапасной вариант.

...