회사에서 운영하는 사이트들의 일부 페이지에서
뒤로가기를 하면 제대로 작동하지 않는 현상을 발견하고
한동안 해결하지 못하고 잊고 있었는데, 어제 갑작스럽게 해결한 내용을 기록해본다.
문제 상황
location.replace()로 이동한 페이지에서 뒤로가기를 하면 이전 페이지가 아닌 엉뚱한 페이지로 돌아감
해결 방법: location.href()
✅ location.replace()
브라우저의 히스토리에 페이지가 추가되기 때문에,
사용자가 뒤로가기 버튼을 누르면 이전 페이지로 다시 이동할 수 있다.
location.replace() 언제 쓰면 좋을까?
- 로그인 후 메인 페이지로 이동하면서, 다시 로그인 페이지로 돌아가는 걸 막고 싶을 때
- 회원가입/비밀번호 재설정 등 민감한 POST 처리 후 재전송/뒤로가기 방지를 하고 싶을 때
- 결제 완료 후, 다시 결제 페이지로 돌아가는 걸 방지하고 싶을 때