[JavaScript] LocalStorage Basic

2023. 7. 13. 20:37Tip

728x90

LocalStorage를 활용한 서로 다른 브라우저 윈도우 연동

CODE

더보기
<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>김현학: 실습 12-5-form</title>
  <style>
    table td {
      text-align: center;
      border: 2px solid #39c;
      padding: 1em
    }
  </style>
  <script>
    function syncSelected() {
      let childNodes = document.querySelectorAll("select[name^=set][id^=travel]")
      for (let node of childNodes)
        localStorage.setItem(node.id, node.value)
    }
  </script>
</head>

<body onload="syncSelected()">
  <h1>여행 갑시다</h1>
  <hr>
  <table>
    <tr>
      <td>도시를 선택하세요<br><br>
        <select name="setTravel" id="travelCity" onchange="syncSelected()" size="3">
          <option selected>파리</option>
          <option>뉴욕</option>
          <option>런던</option>
          <option>서울</option>
          <option>기타</option>
        </select>
      </td>
      <td>음식을 선택하세요<br><br>
        <select name="setTravel" id="travelFood" onchange="syncSelected()" size="3">
          <option selected>햄버거</option>
          <option>치킨</option>
          <option>피자</option>
          <option>에스프레소</option>
          <option>치즈 케이크</option>
        </select>
      </td>
    </tr>
  </table>
</body>

</html>

 

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>김현학: 실습 12-5-view</title>
    <style>
        table {
            border-collapse: collapse;
        }

        table td {
            text-align: left;
            border: 2px solid #39c;
        }

        table td.upperCell {
            border-bottom: 0em;
            padding: 1em 4em 0em 1em
        }

        table td.lowerCell {
            border-top: 0em;
            padding: 0em 4em 1em 1em
        }
    </style>
    <script>
        window.onstorage = function loadItems() {
            let childNodes = document.querySelectorAll("*[name^=get][id^=travel]")
            for (let node of childNodes)
                node.innerHTML = node.id + " = " + localStorage.getItem(node.id)
        }
    </script>
</head>

<body onload="window.onstorage()">
    <h1>선택한 도시와 음식 보여주기</h1>
    <hr>
    <table>
        <tr>
            <td class="upperCell" name="getTravel" id="travelCity">ab
            </td>
        </tr>
        <tr>
            <td class="lowerCell" name="getTravel" id="travelFood">bd
            </td>
        </tr>
    </table>
</body>

</html>
728x90