Я искал способ взаимодействия между несколькими вкладками или окнами в браузере (в том же домене, а не CORS), не оставляя следов. Было несколько решений:
Первое, вероятно, самое худшее решение - вам нужно открыть окно из текущего окна, а затем вы сможете общаться только до тех пор, пока вы держите окна открытыми. Если вы перезагрузите страницу в любом из окон, вы скорее всего потеряете связь.
Второй подход, использующий postMessage, возможно, позволяет передавать через перекрестный источник, но испытывает ту же проблему, что и первый подход. Вам нужно поддерживать объект окна.
Третий способ, используя куки файлы, хранить некоторые данные в браузере, которые могут эффективно выглядеть как отправка сообщения ко всем окнам в одном домене, но проблема в том, что вы никогда не узнаете, все ли на вкладках уже прочитаны "сообщение" или нет перед очисткой. Вы должны выполнить какой-то тайм-аут, чтобы периодически читать cookie. Кроме того, вы ограничены максимальной длиной файла cookie, которая составляет 4 КБ.
Четвертое решение, использующее localStorage, казалось, преодолело ограничения файлов cookie, и может быть даже прослушиваться с использованием событий. Как?