>  기사  >  웹 프론트엔드  >  브라우저 탭 전체에서 SessionStorage 데이터를 공유하는 방법은 무엇입니까?

브라우저 탭 전체에서 SessionStorage 데이터를 공유하는 방법은 무엇입니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-21 15:06:03479검색

How to Share SessionStorage Data Across Browser Tabs?

브라우저 탭 전체에서 세션 저장소 데이터 공유

문제:

데이터를 저장하려는 위치 모든 탭에서 액세스할 수 있고 브라우저를 닫으면 지워져야 하는 웹사이트입니다. 그러나 sessionStorage는 현재 탭 내에서만 지속됩니다.

질문:

애플리케이션 내의 모든 브라우저 탭 간에 sessionStorage 값을 어떻게 공유할 수 있습니까?

답변:

localStorage와 해당 "스토리지" eventListener를 활용하여 sessionStorage 데이터를 한 탭에서 다른 탭으로 전송할 수 있습니다. 이를 구현하려면:

  1. 모든 탭에 다음 코드를 포함하세요.

    <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. 이벤트 트리거 다른 탭에서 sessionStorage 데이터를 요청하려면:

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

이 솔루션을 사용하면 동일한 브라우저 내의 모든 탭에서 sessionStorage 데이터를 공유할 수 있습니다. 이는 여러 브라우저 탭에서 액세스할 수 있어야 하는 데이터를 유지 관리하는 데 유용한 기술입니다.

위 내용은 브라우저 탭 전체에서 SessionStorage 데이터를 공유하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.