[javascript] 자바스크립트에서 세션을 이용한 멀티 탭 관리
웹 애플리케이션을 개발하다 보면 여러 개의 탭을 열어 각 탭별로 상태를 유지해야 하는 경우가 있습니다. 이때, 자바스크립트의 세션 스토리지
를 활용하여 멀티 탭 간에 데이터를 공유하고 상태를 유지하는 것이 가능합니다.
세션 스토리지
웹 브라우저에는 로컬 스토리지
와 세션 스토리지
두 가지 타입의 웹 스토리지가 있습니다. 로컬 스토리지
는 데이터를 영구적으로 보관하는 반면 세션 스토리지
는 세션이 유지되는 동안에만 데이터를 보관합니다. 따라서 멀티 탭 간에 데이터를 주고받거나 공유하고 싶을 때는 세션 스토리지
를 사용하는 것이 적합합니다.
멀티 탭 간 상태 공유
멀티 탭 간에 상태를 공유하는 간단한 예시를 보겠습니다.
// 탭이 열릴 때마다 고유한 키를 생성
const tabKey = `tab_${Date.now()}`;
// 현재 탭의 키를 세션 스토리지에 저장
sessionStorage.setItem('currentTab', tabKey);
// 저장된 키를 가져와서 사용
const currentTab = sessionStorage.getItem('currentTab');
console.log(`현재 탭: ${currentTab}`);
위 코드에서는 각 탭이 열릴 때마다 고유한 키를 생성하여 세션 스토리지에 저장하고, 나중에 필요할 때 이 키를 사용하여 현재 탭을 식별합니다.
결론
자바스크립트의 세션 스토리지
를 활용하면 멀티 탭 간에 데이터를 공유하고 상태를 유지하는 것이 간단해집니다. 이를 통해 사용자 경험을 향상시키고 효율적으로 웹 애플리케이션을 관리할 수 있습니다.
참고 자료: MDN Web Docs - Window.sessionStorage