개발 Q&A

제목 앞으로가기 뒤로가기 버튼 활성화...
카테고리 JavaScript
글쓴이 쑤닝 작성시각 2023/02/02 13:53:06
댓글 : 4 추천 : 0 스크랩 : 0 조회수 : 4114   RSS

안녕하세요!

CI로 구현한 하이브리드앱을 운영중인데,  사용자 편의성을 위해 하단 네비게이터에 앞으로가기 / 뒤로가기 버튼을 추가해두었습니다.

근데 이전 , 다음 페이지가 있을 경우에만 버튼을 활성화 시키려고 했는데,,,

window.history 에서는 현재 위치가 몇번째인지 뭐 이런 정보를 제공하지 않더라구요...

어떻게 작업해야할지 막막하여 문의 남깁니다.

javascript나 php로 작업할 수 있는 방법이 있을까요? 선배님들의 답변 기다리겠습니다ㅠㅠ

 

 다음글 보안 영상플레이어 관련 문의 드립니다. (1)
 이전글 실제 url과 다른 경로로 접근이 가능한가요? (7)

댓글

windforce / 2023/02/02 15:28:10 / 추천 0

window.history.length 로 가능하지 않을까요

현재 페이지가 마지막인 경우 1이 리턴되니 2 이상인 경우에 버튼 활성화를 시키면 되겠네요

쑤닝 / 2023/02/02 19:56:35 / 추천 0
답변 주셔서 감사합니다! 페이지 이동을 하면 window.history.length 가 늘어나게 되는데,,, 뒤로가기 앞으로 가기를 해도 이부분 이동한 전체 페이지의 history length 만 표기되어 확인이 안되더라구요 ㅠㅠ  사이트에 접속해서 페이지 이동을 하고, 뒤로가기 버튼을 눌렀을때 history.length 가 이전 숫자로 변경된다면 가능햇을텐데 ㅠㅠ
windforce / 2023/02/03 10:09:54 / 추천 0

history.length의 개념이 정확하게는 브라우저 기록 개수를 카운팅하는게 아닌가보네요

그럼 세션 스토리지를 이용해서 처음 접속했을 때 임의로 값을 0으로 저장하고 페이지를 이동하거나 앞으로 가거나 하면 +1 하고

뒤로가면 -1 해서 이 값으로 뒤로가기 가능 여부 체크가 가능할 것 같긴 한데

꼭 네비게이션 버튼으로 가지 않고 브라우저의 뒤로가기를 하는 경우도 있어서 이런 경우도 감지해서 카운팅해야 하겠고.. 근데 이런 경우 100% 감지가 안되는걸로 아는데요 페이지 내의 오브젝트를 클릭한다든가, 텍스트를 입력한다든가 한 경우에 확실하게 감지가 됐던걸로 아는데

같은 페이지 내의 a링크 태그로 이동한 경우에는 페이지는 이동하지 않지만 뒤로가기 스택은 쌓이는데 이런 경우도 있겠고

아주 정확하게 오차없이 구현이 가능할런지 잘 모르겠네요

쑤닝 / 2023/02/03 11:07:00 / 추천 0
백프로 정확하게 처리는 불가하다고 인지하고... 처리를 해야할지 아니면 아예 버튼 활성화 된 상태로 사용자가 사용하게 해야할지 고민스럽네요ㅠㅠ 답변 주셔서 감사합니다! 혼자 고민하고 많이 찾아보다가 혹시 놓친 부분이 있는건가 싶어서 문의 햇던건데 그래도 해당 방법으로는 아예 안된다는건 명확하게 알았어요! ㅎㅎ 감사합니다!