Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Voinko synkronoida tiedot eri verkkotunnusten välilehtien välillä?


Voinko synkronoida tiedot eri verkkotunnusten välilehtien välillä?


Ei, et voi synkronoida tietoja suoraan eri verkkotunnusten välilehtien välillä käyttämällä selaimen sisäänrakennettuja tallennustapahtumia ja mekanismeja, kuten localStorage tai sessionStorage. "Tallennus"-tapahtuma ja selaimen tallennussovellusliittymät on rajoitettu samaan alkuperäkäytäntöön, mikä tarkoittaa, että ne toimivat vain samassa verkkotunnuksessa.

Tärkeimmät rajoitukset ovat:

1. Saman alkuperän käytäntö: "Storage"-tapahtumaan ja selaimen tallennussovellusliittymiin (localStorage, sessionStorage) sovelletaan samaa alkuperää koskevaa käytäntöä. Tämä tarkoittaa, että tapahtuma käynnistyy vain muissa välilehdissä/ikkunoissa, jotka ovat peräisin samasta toimialueesta, ei eri verkkotunnuksista.

2. Verkkotunnusten välinen viestintä: Ei sisällä sisäänrakennettua selainmekanismia, joka välittää suoraan datamuutoksia välilehtien tai ikkunoiden välillä eri verkkotunnuksissa. Saman alkuperän käytäntö estää tällaisen verkkotunnusten välisen viestinnän turvallisuussyistä.

Jos sinun on synkronoitava tietoja eri verkkotunnusten välilehtien tai ikkunoiden välillä, sinun on käytettävä palvelinpuolen ratkaisua tai kolmannen osapuolen palvelua, joka voi toimia välittäjänä. Joitakin vaihtoehtoja ovat:

1. Palvelinpuolen synkronointi: Voit käyttää palvelinpuolen mekanismia, kuten verkkoliitäntää tai jaettua tietokantaa, siirtääksesi datamuutoksia eri toimialueiden välillä.

2. Kolmannen osapuolen viestipalvelu: Voit käyttää kolmannen osapuolen viestintäpalvelua, kuten Firebasea, datamuutosten julkaisemiseen ja tilaamiseen eri verkkotunnuksissa.

3. Muokattu verkkotunnusten välinen viestintä: Voit ottaa käyttöön mukautetun verkkotunnusten välisen viestintämekanismin, kuten käyttämällä HTML5 postMessage API -sovellusliittymää yhdessä välittävän iframe-kehyksen tai -ikkunan kanssa.

Nämä ratkaisut ovat kuitenkin monimutkaisempia ja vaativat lisäinfrastruktuuria tai kolmannen osapuolen palveluita. Sisäänrakennettu selaimen tallennustila ja tapahtumat rajoittuvat vain saman alkuperän viestintään.

Yhteenvetona voidaan todeta, että et voi synkronoida tietoja suoraan eri verkkotunnusten välilehtien välillä käyttämällä selaimen sisäänrakennettua tallennustilaa ja tapahtumia. Sinun on käytettävä palvelinpuolen tai kolmannen osapuolen ratkaisua verkkotunnusten välisen tietojen synkronoinnin saavuttamiseksi.

Lainaukset:
[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