자바스크립트를 이용한 빈페이지 지연 로딩 구현 방법

웹 페이지가 느리게 로딩되는 경우, 사용자 경험이 저하될 수 있습니다. 이 문제를 해결하기 위해 자바스크립트를 사용하여 빈 페이지 지연 로딩을 구현할 수 있습니다. 이 방법을 사용하면 웹 페이지의 컨텐츠가 아직 로딩되지 않은 상태에서도 사용자에게 빈 페이지가 표시되어 빠른 로딩 속도와 원활한 사용자 경험을 제공할 수 있습니다.

1. HTML 파일 작성

먼저, HTML 파일에 로딩이 지연될 컨텐츠를 포함하는 요소를 추가합니다. 이 요소는 id 속성을 사용하여 자바스크립트에서 참조할 수 있어야 합니다. 예를 들어, 다음과 같이 <div> 요소를 추가합니다:

<div id="content-placeholder"></div>

2. 자바스크립트 코드 작성

다음으로, 자바스크립트를 사용하여 빈 페이지 지연 로딩을 구현합니다. 이 코드는 페이지 로드 이벤트가 발생했을 때 실행되어 로딩되는 컨텐츠를 불러옵니다. 예를 들어, 다음과 같이 코드를 작성합니다:

window.addEventListener("load", function() {
  var contentPlaceholder = document.getElementById("content-placeholder");
  
  // 컨텐츠를 로딩하는 로직 작성
  
  // 예시: Ajax 요청을 이용하여 데이터를 가져온 후 동적으로 컨텐츠를 추가하는 방식
  var xhr = new XMLHttpRequest();
  xhr.open("GET", "content.json", true);
  xhr.onreadystatechange = function() {
    if (xhr.readyState === XMLHttpRequest.DONE && xhr.status === 200) {
      var content = JSON.parse(xhr.responseText);
      contentPlaceholder.innerHTML = content;
    }
  };
  xhr.send();
});

위의 코드는 페이지가 로드되면 content-placeholder라는 ID를 가진 요소를 찾아 컨텐츠를 동적으로 로딩하는 예시입니다. 실제로는 원하는 방식으로 컨텐츠를 로드하고, 해당 요소에 적절한 데이터를 추가해야 합니다.

3. 페이지에 스타일 추가

로딩되지 않은 컨텐츠가 표시되는 동안, 사용자에게 로딩 상태를 알리기 위해 스타일을 추가할 수 있습니다. 예를 들어 다음과 같이 CSS를 추가할 수 있습니다:

#content-placeholder:empty::before {
  content: "로딩 중...";
  display: block;
  /* 스타일링을 추가하거나 로딩 아이콘을 표시할 수 있음 */
}

위의 CSS는 content-placeholder라는 ID를 가진 요소가 비어 있을 때 “로딩 중…“이라는 텍스트를 표시합니다. 필요에 따라 스타일링을 추가하거나 로딩 아이콘을 표시할 수 있습니다.

마무리

자바스크립트를 이용한 빈 페이지 지연 로딩은 웹 페이지의 로딩 성능과 사용자 경험을 향상시키는 데 도움이 됩니다. 로딩이 지연되는 컨텐츠를 자바스크립트로 동적으로 로딩하여 빈 페이지가 표시되는 것을 방지할 수 있습니다. 이를 통해 빠른 로딩 속도와 원활한 사용자 경험을 제공할 수 있습니다.

참고 자료