Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Berkongsi Data SessionStorage Merentas Tab Penyemak Imbas?

Bagaimana untuk Berkongsi Data SessionStorage Merentas Tab Penyemak Imbas?

Patricia Arquette
Patricia Arquetteasal
2024-10-21 15:06:03479semak imbas

How to Share SessionStorage Data Across Browser Tabs?

Berkongsi Data Penyimpanan Sesi Merentas Tab Penyemak Imbas

Masalah:

Anda mahu menyimpan data dalam tapak web anda yang boleh diakses daripada semua tab dan harus dikosongkan apabila penyemak imbas ditutup. Walau bagaimanapun, sessionStorage hanya kekal dalam tab semasa.

Soalan:

Bagaimanakah anda boleh berkongsi nilai sessionStorage antara semua tab penyemak imbas dalam aplikasi anda?

Jawapan:

Anda boleh menggunakan localStorage dan "storage" eventListener untuk memindahkan data sessionStorage dari satu tab ke tab yang lain. Untuk melaksanakan ini:

  1. Sertakan kod berikut pada semua tab:

    <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>
  2. Acara pencetus untuk meminta data sessionStorage daripada tab lain:

    <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>

Penyelesaian ini membolehkan anda berkongsi data sessionStorage merentas semua tab dalam penyemak imbas yang sama. Ia ialah teknik yang berguna untuk mengekalkan data yang perlu boleh diakses merentas berbilang tab penyemak imbas.

Atas ialah kandungan terperinci Bagaimana untuk Berkongsi Data SessionStorage Merentas Tab Penyemak Imbas?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn