Nem, nem lehet közvetlenül szinkronizálni az adatokat a különböző tartományok lapjai között a böngésző beépített tárolási eseményeivel és olyan mechanizmusokkal, mint a localStorage vagy a sessionStorage. A „tárhely” esemény és a böngésző tárolási API-jai ugyanazon eredetszabályra korlátozódnak, ami azt jelenti, hogy csak ugyanazon a tartományon belül működnek.
A legfontosabb korlátozások a következők:
1. Azonos eredetre vonatkozó házirend: A „tárhely” eseményre és a böngésző tárolási API-jaira (localStorage, sessionStorage) ugyanaz a származási szabályzat vonatkozik. Ez azt jelenti, hogy az esemény csak más lapokon/ablakokon indul el, amelyek ugyanabból a tartományból származnak, nem pedig különböző tartományok között.
2. Domainek közötti kommunikáció: Nincs beépített böngészőmechanizmus, amely közvetlenül kommunikálná az adatváltozásokat a különböző tartományok lapjai vagy ablakai között. Az azonos származási irányelv biztonsági okokból megakadályozza az ilyen típusú tartományok közötti kommunikációt.
Ha adatokat kell szinkronizálnia a különböző tartományok lapjai vagy ablakai között, akkor kiszolgálóoldali megoldást vagy harmadik féltől származó szolgáltatást kell használnia, amely közvetítőként működhet. Néhány lehetőség a következőket tartalmazza:
1. Szerveroldali szinkronizálás: Használhat szerveroldali mechanizmust, például websocket-kapcsolatot vagy megosztott adatbázist az adatváltozások terjesztésére a különböző tartományok között.
2. Harmadik féltől származó üzenetküldő szolgáltatás: Használhat harmadik féltől származó üzenetküldő szolgáltatást, például a Firebase-t, hogy közzétegye és előfizesse az adatok változásait a különböző domaineken.
3. Egyéni tartományok közötti kommunikáció: Egyéni domainek közötti kommunikációs mechanizmust is megvalósíthat, például a HTML5 postMessage API-t egy közvetítő iframe-mel vagy ablakkal kombinálva.
Ezek a megoldások azonban összetettebbek, és további infrastruktúrát vagy harmadik féltől származó szolgáltatásokat igényelnek. A beépített böngészőtár és az események csak azonos eredetű kommunikációra korlátozódnak.
Összefoglalva, nem lehet közvetlenül szinkronizálni az adatokat a különböző tartományok lapjai között a böngésző beépített tárhelye és az események segítségével. A tartományok közötti adatszinkronizáláshoz szerveroldali vagy harmadik féltől származó megoldást kell használnia.
Idézetek:[1] https://www.reddit.com/r/AZURE/comments/194hsdu/sync_files_with_customer_on_another_domain/
[2] https://www.sqlservercentral.com/forums/topic/set-up-database-sync-between-2-different-domain-servers
[3] https://torsten-muller.dev/javascript/communication-between-browser-tabs-synchronizing-state/
[4] https://nabeelvalley.co.za/blog/2024/07-03/localstorage-based-sync/
[5] https://community.cisco.com/t5/managing-users/user-identities-with-ad-sync-and-multiple-domains/td-p/4880178