Как распределить localStorage между двумя угловыми 4 приложениями [дублировать]

Ни один из этих ответов не работал для меня.

Это то, что сработало для меня.

with score as (select max(score_up) from history)
select history.* from score, history where history.score_up = score.max
59
задан JoJo 26 October 2010 в 18:56
поделиться

6 ответов

Вот как я использую его в доменах ...

  • Используйте iframe из родительского домена - скажем, parent.com
  • Затем на каждом домене child.com , просто сделайте postMessage на ваш parent.com iframe
  • . Все, что вам нужно сделать, это настроить протокол интерпретации сообщений postMessage для разговора с iframe parent.com.

Надеюсь, это поможет:)

61
ответ дан Mayank Jain 25 August 2018 в 07:16
поделиться

Вот как я решил это для своего сайта. Я перенаправил все страницы без www на www.site.com. Таким образом, он всегда будет использовать localstorage www.site.com

Добавьте следующее в свой .htacess (создайте его, если у вас его уже нет) в корневом каталоге

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]
-1
ответ дан Ayush Baheti 25 August 2018 в 07:16
поделиться

Я использую xdLocalStorage, это небольшая библиотека js, которая реализует интерфейс LocalStorage и поддерживает междоменное хранилище, используя сообщение сообщения iframe post (поддержка угловогоJS)

https: // github .com / ofirdagan / кросс-домен-локальное хранение

2
ответ дан biology.info 25 August 2018 в 07:16
поделиться

Я предлагаю сделать сайт.com перенаправленным на www.site.com для согласованности и для избежания таких проблем.

Также рассмотрите использование кросс-браузерного решения, например PersistJS , которые могут использовать каждое собственное хранилище для браузера.

17
ответ дан Eran Galperin 25 August 2018 в 07:16
поделиться

Вы можете просто использовать свойство document.domain. Если вы поместите это в первые действия JavaScript:

document.domain="mysite.com";
-12
ответ дан KatieK 25 August 2018 в 07:16
поделиться

Если вы используете решение iframe и postMessage только для этой конкретной проблемы, я думаю, что может быть меньше работы (как по коду, так и по вычислительным причинам) просто хранить данные в файле cookie без субдомена и, если

Плюсы:

  • Не требуется установка дополнительных iframe и postMessage.

Минусы:

  • Будет предоставлять данные во всех субдоменах (а не только на www), поэтому, если вы не доверяете всем субдоменам, они могут не работать для вас.
  • Отправляет данные на сервер по каждому запросу. Невероятно, но в зависимости от вашего сценария, возможно, еще меньше работы, чем решение iframe / postMessage.
  • Если вы это делаете, почему бы просто не использовать файлы cookie напрямую? Зависит от вашего контекста.
  • Размер файла cookie 4K max, всего для всех файлов cookie для домена (спасибо Блэйку за то, что указали это в комментариях)

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

21
ответ дан Matt 25 August 2018 в 07:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: