728x90
반응형

회사에서 운영하는 사이트들의 일부 페이지에서

뒤로가기를 하면 제대로 작동하지 않는 현상을 발견하고

한동안 해결하지 못하고 잊고 있었는데, 어제 갑작스럽게 해결한 내용을 기록해본다.

문제 상황
location.replace()로 이동한 페이지에서 뒤로가기를 하면 이전 페이지가 아닌 엉뚱한 페이지로 돌아감

 

✅ location.replace()
 
현재 페이지를 새로운 페이지로 대체하기 때문에, 이전 페이지 히스토리에 남지 않음.
뒤로가기를 눌러도 이전 페이지로 돌아가지 않는다.

 

해결 방법: location.href()

 

✅ location.replace()

브라우저의 히스토리에 페이지가 추가되기 때문에,
사용자가 뒤로가기 버튼을 누르면 이전 페이지로 다시 이동할 수 있다.

 

location.replace() 언제 쓰면 좋을까?

  • 로그인 후 메인 페이지로 이동하면서, 다시 로그인 페이지로 돌아가는 걸 막고 싶을 때
  • 회원가입/비밀번호 재설정 등 민감한 POST 처리 후 재전송/뒤로가기 방지를 하고 싶을 때
  • 결제 완료 후, 다시 결제 페이지로 돌아가는 걸 방지하고 싶을 때

 

728x90
반응형

+ Recent posts