Heim >Web-Frontend >js-Tutorial >Wie teile ich SessionStorage-Daten über Browser-Registerkarten hinweg?
SessionStorage-Daten über Browser-Registerkarten hinweg teilen
Problem:
Sie möchten Daten in speichern Ihre Website, die von allen Registerkarten aus zugänglich ist und beim Schließen des Browsers gelöscht werden sollte. Allerdings bleibt sessionStorage nur innerhalb der aktuellen Registerkarte bestehen.
Frage:
Wie können Sie sessionStorage-Werte zwischen allen Browser-Registerkarten in Ihrer Anwendung teilen?
Antwort:
Sie können localStorage und seinen „storage“-EventListener verwenden, um SessionStorage-Daten von einer Registerkarte auf eine andere zu übertragen. So implementieren Sie dies:
Fügen Sie den folgenden Code auf allen Registerkarten ein:
<code class="js">// transfers sessionStorage from one tab to another var sessionStorage_transfer = function(event) { // Handle sessionStorage data transfer between tabs }; // listen for changes to localStorage if(window.addEventListener) { window.addEventListener("storage", sessionStorage_transfer, false); } else { window.attachEvent("onstorage", sessionStorage_transfer); };</code>
Ereignis auslösen So fordern Sie SessionStorage-Daten von anderen Tabs an:
<code class="js">// Ask other tabs for session storage (this triggers the event) if (!sessionStorage.length) { localStorage.setItem('getSessionStorage', 'foobar'); localStorage.removeItem('getSessionStorage', 'foobar'); };</code>
Mit dieser Lösung können Sie SessionStorage-Daten auf allen Tabs im selben Browser teilen. Es handelt sich um eine nützliche Technik zur Verwaltung von Daten, die über mehrere Browser-Registerkarten hinweg zugänglich sein müssen.
Das obige ist der detaillierte Inhalt vonWie teile ich SessionStorage-Daten über Browser-Registerkarten hinweg?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!