Совместное использование sessionStorage между двумя угловыми SPA на localhost на разных портах - PullRequest
0 голосов
/ 10 января 2019

У меня есть 2 угловых приложения (угловое 7 и угловое 1,5), работающих на разные порты в режиме разработки. Они загружаются один за другим. Пользователь запускается в первом приложении (скажем, localhost: 3000), и в какой-то момент пользователь перенаправляется во второе приложение (скажем, localhost: 8080). Я хочу, чтобы они разделяли хранилище сессий. Это возможно каким-либо образом?

1 Ответ

0 голосов
/ 10 января 2019

С Википедия : веб-хранилище предлагает две разные области хранения - локальное хранилище и хранилище сеансов - которые различаются по объему и сроку службы. Данные, помещенные в локальное хранилище, относятся к источнику (комбинация протокола, имени хоста и номера порта, как определено в политике того же источника) (данные доступны для всех сценариев, загруженных со страниц из того же источника, которые ранее хранили данные), и сохраняется после закрытия браузера. Сеанс хранилища зависит от источника, окна или вкладки и ограничен временем жизни окна. Хранилище сеансов предназначено для того, чтобы отдельные экземпляры одного и того же веб-приложения могли работать в разных окнах, не мешая друг другу. Этот вариант использования плохо поддерживается файлами cookie. [9]

Это означает, что хранилище сеансов по своей природе не позволит вам получить доступ к данным за пределами окна, в котором они были созданы. Я полагаю, что даже локальное хранилище не позволит вам получить доступ к данным из другого порта.

Вы можете использовать что-то вроде IndexedDB для получения и установки данных в общее хранилище данных из нескольких разных приложений, работающих в разных вкладках на разных портах на одном компьютере.

Для Angular 7, библиотека Cyrille Tuzi * Angular Async Local Storage очень хорошо разработана и поддерживается и, вероятно, позволит вам делать то, что вам нужно. Возможно, вам удастся найти подобную библиотеку для Angular 1.x, которая позволит вам обмениваться данными через то же хранилище данных IndexedDb.

...