프론트엔드 데브코스 5기 TIL 13 - historyAPI

김영현·2023년 10월 12일
0

TIL

목록 보기
15/129

historyAPI

세션에 쌓이는 history데이터를 조작하게 해줌.(뒤로가기, 앞으로가기 등)
SPA는 디렉토리 이동시 화면 깜빡임이 없어야함.
=> 다른 페이지로 이동시 historyAPI를 사용해 새로고침 없이 URL을 이동한것 처럼 할 수있음.

  • history.pushStae(state, title, url) : 기록을 남기고 디렉토리 이동.
    state : history.state에 저장된 값 사용할때
    title : 변경된 페이지의 title, 브라우저에서 지원x
    url : 세션 히스토리에 새로넣을 url
    보통 history.pushState(null, null, url) 이렇게 사용함.
  • history.replaceState(state, title, url) : 기록을 남기지 않고 디렉토리 이동.
    뒤로가기를 제한시킬때 씀.

historyAPI쓸 때 주의점

주소창에 사용자가 직접 없는 디렉토리로 이동하거나, 새로고침 하였을때 404에러가 날수있음.
이때 그냥 index.html을 반환해줘야함.
안그러면 배포한 뒤 사용자가 없는 디렉토리 이동하면 오류페이지가 나온다.

또한, 앞-뒤로가기시 popstate이벤트를 처리해줘야함.

또한 <script>에 지정할때 상대경로를 사용하지말고 절대경로를 사용하자.

profile
모르는 것을 모른다고 하기

0개의 댓글