자바스크립트 Local Storage를 이용한 웹 사이트 검색 기능 구현

소개

이번 글에서는 자바스크립트의 Local Storage를 활용하여 웹 사이트의 검색 기능을 구현하는 방법에 대해 알아보겠습니다. Local Storage는 웹 브라우저에 데이터를 저장할 수 있는 기능으로, 사용자가 웹 사이트에서 검색한 키워드를 저장하여 다음에 다시 접속했을 때 이력을 보여줄 수 있는 기능을 구현할 수 있습니다.

구현 방법

1. 검색 입력란과 버튼 만들기

먼저 HTML 파일에 검색을 위한 입력란과 검색 버튼을 만들어야 합니다. 아래는 예시 코드입니다.

<input type="text" id="search-input">
<button id="search-btn">검색</button>
<ul id="search-results"></ul>

2. 검색어 저장하기

검색 버튼을 클릭했을 때, 입력된 검색어를 Local Storage에 저장해야 합니다. 아래는 예시 코드입니다.

const searchBtn = document.getElementById('search-btn');
const searchInput = document.getElementById('search-input');

searchBtn.addEventListener('click', function() {
  const searchValue = searchInput.value;
  
  if (searchValue !== '') {
    // Local Storage에 검색어 저장
    localStorage.setItem('searchHistory', searchValue);
  }
});

3. 검색어 불러오기

웹 페이지가 로드될 때, Local Storage에서 검색어를 불러와 이력을 보여주어야 합니다. 아래는 예시 코드입니다.

window.addEventListener('DOMContentLoaded', function() {
  const searchHistory = localStorage.getItem('searchHistory');
  
  if (searchHistory !== null) {
    const searchResults = document.getElementById('search-results');
    // 이력을 보여줄 요소 생성
    const listItem = document.createElement('li');
    listItem.textContent = searchHistory;
    searchResults.appendChild(listItem);
  }
});

4. 이력 삭제하기

일부 사용자는 검색 이력을 삭제하고 싶을 수 있으므로, 삭제 기능도 추가해야 합니다. 아래는 예시 코드입니다.

const clearBtn = document.getElementById('clear-btn');

clearBtn.addEventListener('click', function() {
  // Local Storage에서 검색어 삭제
  localStorage.removeItem('searchHistory');
  // 검색 결과를 보여주는 요소 초기화
  const searchResults = document.getElementById('search-results');
  searchResults.innerHTML = '';
});

마무리

위의 구현 방법을 따라가면 웹 사이트에서 간단한 검색 기능을 구현할 수 있습니다. Local Storage를 활용하여 사용자의 검색 이력을 저장하고 보여주는 기능을 구현함으로써 사용자 경험을 향상시킬 수 있습니다.

#javascript #localstorage