> 웹 프론트엔드 > JS 튜토리얼 > 브라우저 뒤로 버튼 누름과 페이지 내 뒤로 탐색을 어떻게 안정적으로 감지할 수 있습니까?

브라우저 뒤로 버튼 누름과 페이지 내 뒤로 탐색을 어떻게 안정적으로 감지할 수 있습니까?

Patricia Arquette
풀어 주다: 2024-12-09 20:44:11
원래의
739명이 탐색했습니다.

How Can We Reliably Detect Browser Back Button Presses vs. In-Page Back Navigation?

브라우저 뒤로 버튼 감지 및 페이지 내 뒤로 버튼 적용

사용자가 브라우저 뒤로 버튼을 활성화했는지 확인하는 것이 끊임없는 과제였습니다. 웹 개발 중. 이 질문은 특히 해시 탐색을 활용하는 단일 페이지 애플리케이션에서 이 목표를 달성하기 위한 다양한 기술을 탐구합니다.

일반적인 접근 방식 중 하나는 URL의 해시 변경 사항을 추적하는 window.onhashchange를 사용하는 것입니다. 그러나 이 방법은 인페이지 요소가 해시를 수정할 때도 트리거되어 일관되지 않은 사용자 경험을 초래하는 경우가 많습니다.

대신 사용자가 인터페이스를 탐색할 때 이전 해시 값을 저장하는 배열을 만드는 것이 좋습니다. . window.location.lasthash.push(window.location.hash)를 사용하여 이 배열을 지속적으로 업데이트함으로써 시스템은 해시 변경 기록을 유지합니다.

또한 브라우저 뒤로 버튼과 페이지 내 뒤로를 구별하기 위해 버튼을 사용하는 경우 솔루션은 마우스 이벤트를 활용합니다. 부울 플래그 window.innerDocClick을 마우스가 문서 영역 내에 있을 때 true로 설정하고 문서 영역을 떠날 때 false로 설정하면 시스템은 사용자가 브라우저 뒤로 버튼을 사용하는지, 페이지 내 뒤로 버튼을 사용하는지 추적할 수 있습니다.

이 메커니즘을 사용하면 해시 변경을 더욱 세부적으로 제어할 수 있으므로 개발자는 브라우저 뒤로 버튼 이벤트를 별도로 처리하고 사용자 정의 페이지 내 탐색을 구현할 수 있습니다.

또한 백스페이스 키 입력을 방지하기 위해 백 이벤트를 트리거하는 과정에서 솔루션은 입력되지 않은 요소에 대한 백스페이스 키를 가로채는 jQuery 이벤트 핸들러를 통합합니다. 이러한 이벤트를 삼키면 백스페이스를 사용하여 양식 필드나 텍스트 편집기 입력을 지울 때 사용자가 실수로 뒤로 탐색하지 않도록 할 수 있습니다.

위 내용은 브라우저 뒤로 버튼 누름과 페이지 내 뒤로 탐색을 어떻게 안정적으로 감지할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿