Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Vai es varu sinhronizēt datus starp cilnēm dažādos domēnos


Vai es varu sinhronizēt datus starp cilnēm dažādos domēnos


Nē, jūs nevarat tieši sinhronizēt datus starp cilnēm dažādos domēnos, izmantojot pārlūkprogrammā iebūvētos krātuves notikumus un mehānismus, piemēram, localStorage vai sessionStorage. Notikumam "krātuve" un pārlūkprogrammas krātuves API ir ierobežota viena un tā paša izcelsmes politika, kas nozīmē, ka tie darbojas tikai tajā pašā domēnā.

Galvenie ierobežojumi ir:

1. Tādas pašas izcelsmes politika: uz notikumu "krātuve" un pārlūkprogrammas krātuves API (localStorage, sessionStorage) attiecas viena un tā pati izcelsmes politika. Tas nozīmē, ka notikums tiek aktivizēts tikai citās cilnēs/logos, kas ir no tā paša domēna, nevis dažādos domēnos.

2. Starpdomēnu saziņa: nav iebūvēta pārlūkprogrammas mehānisma, lai tieši paziņotu datu izmaiņas starp cilnēm vai logiem dažādos domēnos. Tāda paša izcelsmes politika drošības apsvērumu dēļ novērš šāda veida starpdomēnu saziņu.

Ja nepieciešams sinhronizēt datus starp cilnēm vai logiem dažādos domēnos, jums būs jāizmanto servera puses risinājums vai trešās puses pakalpojums, kas var darboties kā starpnieks. Dažas iespējas ietver:

1. Servera puses sinhronizācija: varat izmantot servera puses mehānismu, piemēram, tīmekļa ligzdas savienojumu vai koplietotu datu bāzi, lai izplatītu datu izmaiņas starp dažādiem domēniem.

2. Trešās puses ziņojumapmaiņas pakalpojums: varat izmantot trešās puses ziņojumapmaiņas pakalpojumu, piemēram, Firebase, lai publicētu un abonētu datu izmaiņas dažādos domēnos.

3. Pielāgota starpdomēnu komunikācija: varat ieviest pielāgotu starpdomēnu saziņas mehānismu, piemēram, izmantojot HTML5 postMessage API kopā ar starpdomēnu ietvaru vai logu.

Tomēr šie risinājumi ir sarežģītāki un prasa papildu infrastruktūru vai trešo pušu pakalpojumus. Iebūvētā pārlūkprogrammas krātuve un notikumi ir ierobežoti tikai ar vienas izcelsmes saziņu.

Rezumējot, jūs nevarat tieši sinhronizēt datus starp cilnēm dažādos domēnos, izmantojot pārlūkprogrammas iebūvēto krātuvi un notikumus. Lai panāktu starpdomēnu datu sinhronizāciju, jums būs jāizmanto servera puses vai trešās puses risinājums.

Citāts:
[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