구글링해보니 pushState랑 popstate이용해서 하면 된다는데 파이어폭스에서는 되는데
크롬계열 브라우저는 사람이 클릭하는 상호작용을하지 않는 한 popstate가 작동을 하지않아서 뒤로가기를 막을 수가 없음.
혹시 뒤로가기 막는 방법 아는 사람있으면 좀 알려주라. 이것때문에 계속 막혀있음.
구글링해보니 pushState랑 popstate이용해서 하면 된다는데 파이어폭스에서는 되는데
크롬계열 브라우저는 사람이 클릭하는 상호작용을하지 않는 한 popstate가 작동을 하지않아서 뒤로가기를 막을 수가 없음.
혹시 뒤로가기 막는 방법 아는 사람있으면 좀 알려주라. 이것때문에 계속 막혀있음.
히스토리가 생기면 누르는 버튼을 막는법은없음
그럼 뒤로가기버튼으로 인해 같은 저장 작업이 반복된다면 로직을 수정해야함???
보통 서버에서 Form -post로 요청이 오면 redirect response를 내려져서 browser history를 갈아엎도록 유도하는게 일반적이긴함
그러면 history가 더이상 존재하지 않으니까 뒤로가기버튼이 비활성화되지
내가 javascript submit() 이용해서 POST form을 강제로 이동시키긴 한데 redirect response 이후가 이해가 잘 안되는데 설명좀 해줄수 있음?
그냥 history.replaceState를 쓰는게 제일 확실하긴함. 일단 CSR기반의 웹 프레임워크는 해당 기능을 사용하니까 문제가 없고... 대충 내가 알기로는 SSR를 지원하는 웹프레임워크는 문제가 없지 않을까? 그러니까... 예를 들어서 서버에서 redirect("/index", "permanent") 를 응답으로 보내면 그걸 기반으로 뭐 알아서 처리하던거 같았는데...
직접 구현해야 한다면, form 에 대한 응답으로 redirect를 시키면서 query에 redirect indicator 를 추가하고, 리다이렉트로 도착한 페이지에서 쿼리 체크해서 history.replaceState로 히스토리 및 url를 수정하는 방법이 있겠네. 쿼리가 아니라 browser탭별로 고유한 sessionStorage를 써도 될것이고...
history.replaceState로는 현재페이지 밖에 수정이 안되던데 막기가 가능함?
오 생각좀 해봤는데 덕분에 약간 실마리가 보인것 같음 고마워