본문 바로가기
dev/javascript

[javascript] 자바스크립트 페이지 새로 고침 (reload)

by 최연탄 2023. 5. 25.
728x90
반응형

참고: https://www.freecodecamp.org/news/javascript-refresh-page-how-to-reload-a-page-in-js/

JavaScript는 동적 웹 사이트나 대화형 애플리케이션을 만들 수 있는 다목적 프로그래밍 언어입니다. 웹 개발 작업에는 콘텐츠를 업데이트하거나 웹 페이지를 새로 고치거나 다시 로드하는 것이 있습니다. 이 포스트에서는 JavaScript로 페이지를 새로 고치는 다양한 방법을 알아보고 각 접근 방법에 대해 장단점을 알아보겠습니다.

JavaScript로 페이지를 새로 고치는 이유는?

웹 페이지를 새로 고치는 작업은 다양한 시나리오에서 필요합니다. 예를 들어:

  1. Content Update: 웹 페이지의 콘텐츠가 동적이고 자주 변경되는 경우 최신 데이터나 정보를 표시하려면 페이지를 새로 고쳐야 할 수 있습니다. 이는 일반적으로 뉴스 사이트, 주식 사이트, 날씨 앱 등에서 볼 수 있습니다.
  2. Form Submission: 웹 페이지에서 양식을 제출한 후 페이지를 새로 고쳐 성공 메시지를 표시하거나 새로운 양식 제출을 위해 양식을 재설정 할 수 있습니다.
  3. State Reset: 경우에 따라 웹 페이지의 상태를 재설정하거나 특정 데이터를 지워 새로 시작해야 하는 경우가 있습니다. 이럴 때 페이지를 새로고침 하면 도움이 될 수 있습니다.

이제 JavaScript로 페이지를 새로 고치는 여러가지 방법을 알아보겠습니다.

방법 1: location.reload()로 페이지 새로 고침

JavaScript로 페이지를 새로 고치는 가장 간단한 방법은 location.reload() 메소드를 사용하는 것 입니다. 이 메소드는 서버에 현재 웹 페이지를 다시 요청하여 웹 페이지를 다시 로드함으로서 현재 콘텐츠를 버리고 최신 콘텐츠를 로드하게 합니다.

location.reload();

location.reload() 장점

  • 직관적이고 사용하기 쉽습니다.
  • 서버에서 전체 페이지를 다시 로드하여 최신 콘텐츠를 얻을 수 있습니다.

location.reload() 단점

  • 페이지의 현재 콘텐츠를 삭제하므로 사용자 입력이나 데이터가 손실될 수 있습니다.
  • 페이지가 다시 로드될 때 깜빡임 효과가 발생하여 사용자 경험에 영향을 줄 수 있습니다.

방법 2: location.replace()로 페이지 새로 고침

JavaScript로 페이지를 고치는 또 다른 방법은 location.replace() 메소드를 사용하는 것 입니다. 이 방법은 웹 페이지의 현재 url을 새 url로 대체하여 새 콘텐츠로 페이지를 다시 로드합니다. 아래 코드를 콘솔에서 실행하면 현재 url이 표시됩니다:

console.log(location.href)

즉, location.replace() 메소드를 사용하여 웹 페이지의 현재 url을 새 url(동일한 url)로 바꾸면 페이지가 새로 고쳐집니다.

location.replace(location.href);

location.replace() 장점

  • 새로운 콘텐츠로 페이지를 리로드 하는 빠른 방법입니다.
  • 페이지의 현재 콘텐츠를 보존하고 url만 교체하여 사용자 입력 또는 데이터 손실을 방지합니다.

location.replace() 단점

  • 페이지의 전체 url을 바꾸므로 현재 브라우징 히스토리가 손실될 수 있습니다.
  • 새 창이나 새 탭에서 웹 페이지를 열었을 때 같은 일부 시나리오에서는 작동하지 않을 수 있습니다.

방법 3: location.reload(true)로 페이지 새로 고침

location.reload() 메소드는 forceGet 이라는 불린 매개변수도 받습니다. 이를 true로 입력할 경우 캐시를 무시하고 서버에서 직접 페이지를 리로드합니다. 이는 페이지가 캐시된 경우에도 서버에서 최신 콘텐츠를 가져오려는 경우 사용할 수 있습니다:

location.reload(true);

location.reload(true) 장점

  • 캐시가 있더라도 서버의 최신 콘텐츠를 얻을 수 있습니다.

location.reload(true) 단점

  • 현재 페이지의 콘텐츠를 날려버려 사용자의 입력이나 데이터를 잃을 수 있습니다.
  • 페이지 리로드 시 화면이 깜빡거리는 것이 보여 사용자 경험에 영향을 줄 수 있습니다.

방법 4: location.href로 페이지 새로 고침

JavaScript로 페이지를 갱신하는 또 다른 방법은 location.href 속성을 사용하여 페이지의 url을 바꾸는 것 입니다. 이는 새 url로 페이지를 리로드하여 페이지를 갱신합니다:

location.href = location.href;

location.href 장점

  • 페이지를 갱신하는 간단하고 효과적인 방법입니다.
  • 페이지의 현재 콘텐츠를 보존하고 url만 업데이트하여 사용자 입력 또는 데이터 손실을 방지합니다.

location.href 단점

  • 페이지의 전체 url을 교체하므로 현재 브라우징 히스토리가 손실될 수 있습니다.
  • 새 창이나 새 탭에서 웹 페이지를 연 경우 작동하지 않을 수 있습니다.

방법 5: 딜레이를 준 location.reload()로 페이지 새로 고침

페이지를 새로 고치기 전에 딜레이를 주려면 location.reload() 메소드와 함께 setTimeout()을 사용할 수 있습니다. 이를 통해 페이지를 다시 로드하기 전 시간 간격(밀리초)을 지정하여 새로 고침 타이밍을 제어할 수 있습니다:

setTimeout(function(){
    location.reload();
}, 3000);

딜레이된 location.reload() 장점

  • 딜레이를 추가하여 페이지 새로 고침 타이밍을 제어할 수 있습니다.
  • 특정 이벤트 또는 작업 후에 페이지를 새로 고쳐야하는 시나리오에 사용할 수 있습니다.

딜레이된 location.reload() 단점

  • 페이지 갱신이 지연되어 사용자 경험에 영향을 미칠 수 있습니다.
  • 네트워크 연결이 불안정 하거나 느린 환경에서는 예상대로 작동하지 않을 수 있습니다.

정리

이 포스트에서는 JavaScript로 페이지를 새로 고치는 다양한 방법을 알아봤습니다. 각각의 방법에는 장단점이 있으므로 웹 개발 프로젝트에 가장 적합한 방법을 선택하여 적용해야 합니다. 위에서 언급한 방법을 사용하여 페이지를 새로 고칠 때 사용자 경험, 데이터 손실, 브라우징 히스토리에 미치는 영향을 고려해야합니다.

관련 글

자바스크립트 setTimeout() 사용 방법

자바스크립트 window.location 사용 방법

반응형

댓글