자바스크립트 Local Storage를 이용한 채팅 애플리케이션 구현
소개
이번 포스트에서는 자바스크립트의 Local Storage를 이용하여 간단한 채팅 애플리케이션을 구현하는 방법을 알아보겠습니다. 채팅 애플리케이션은 사용자가 메시지를 입력하면 그 메시지를 화면에 출력하고, 이전에 입력한 메시지를 Local Storage에 저장하여 페이지를 새로고침해도 이전 메시지를 볼 수 있도록 합니다.
구현 단계
1. HTML 구조 설정
먼저, 간단한 HTML 구조를 설정해야 합니다. 아래는 채팅 애플리케이션에 필요한 HTML 코드입니다.
<!DOCTYPE html>
<html>
<head>
<title>채팅 애플리케이션</title>
</head>
<body>
<h1>채팅 애플리케이션</h1>
<div id="chat-box"></div>
<input type="text" id="message-input">
<button id="send-button">전송</button>
</body>
</html>
2. 자바스크립트 코드 작성
이제, 자바스크립트 코드를 작성하여 채팅 애플리케이션을 구현할 차례입니다. 아래는 필요한 자바스크립트 코드입니다.
// 메시지를 화면에 출력하는 함수
function displayMessage(message) {
const chatBox = document.getElementById('chat-box');
const messageElement = document.createElement('p');
messageElement.textContent = message;
chatBox.appendChild(messageElement);
}
// 전송 버튼 클릭 이벤트 핸들러
function sendMessage() {
const messageInput = document.getElementById('message-input');
const message = messageInput.value;
if (message) {
displayMessage(message);
// Local Storage에 메시지 저장
let messages = JSON.parse(localStorage.getItem('messages')) || [];
messages.push(message);
localStorage.setItem('messages', JSON.stringify(messages));
// 입력 필드 초기화
messageInput.value = '';
}
}
// 페이지 로드 시 실행되는 함수
function init() {
// 이전에 입력한 메시지들을 Local Storage에서 가져와서 화면에 출력
let messages = JSON.parse(localStorage.getItem('messages')) || [];
for (let message of messages) {
displayMessage(message);
}
// 전송 버튼 클릭 이벤트 리스너 등록
const sendButton = document.getElementById('send-button');
sendButton.addEventListener('click', sendMessage);
}
init();
3. 채팅 애플리케이션 실행
작성한 HTML 파일을 웹 브라우저에서 열어서 채팅 애플리케이션을 실행해보세요. 메시지를 입력하고 전송 버튼을 클릭하면 해당 메시지가 화면에 출력되고, 이전에 입력한 메시지들도 새로고침해도 남아있는 것을 확인할 수 있습니다.
마무리
이번 포스트에서는 자바스크립트의 Local Storage를 이용하여 채팅 애플리케이션을 구현하는 방법을 알아보았습니다. Local Storage를 사용하면 웹 페이지에서 데이터를 영구적으로 저장하고 재사용할 수 있습니다. 채팅 애플리케이션 외에도 다양한 웹 애플리케이션에서 Local Storage를 활용할 수 있으니 참고하시기 바랍니다.
#JavaScript #LocalStorage #ChatApplication