"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > ajax 내비게이션 중에 JavaScript가 위치 해시의 변화를 어떻게 안정적으로 감지 할 수 있습니까?

ajax 내비게이션 중에 JavaScript가 위치 해시의 변화를 어떻게 안정적으로 감지 할 수 있습니까?

2025-03-23에 게시되었습니다
검색:955

How Can JavaScript Reliably Detect Changes in the Location Hash During Ajax Navigation?

처음에는 문서로드의 위치 해시를 확인하는 것이 잘 작동합니다. 그러나 해시 기반 내비게이션을 사용하고 브라우저의 뒤로 버튼을 누를 때 (예 : #456에서 #123으로 전환), 해시 변경은 JavaScript에 의해 쉽게 캡처되지 않습니다.

전통적인 솔루션은 전통적인 해당 및 비교를 포함합니다. 차이가 감지되면 "변경된"이벤트가 발생하여 가입자가 응답 할 수 있습니다. 이 방법은 이상적이지 않지만이 이벤트에 대한 기본 지원이 부족한 브라우저에 대한 폴백을 제공합니다.

jQuery 솔루션

더 우아한 솔루션을 사용할 수 있습니다. jQuery는 on () 함수를 제공하여 창 객체에서 해시 랜지 이벤트를 듣습니다. 이 추상화는 Hashchange 지원에 대한 지식을 필요로하지 않고 프로세스를 단순화합니다.

jQuery 특별 이벤트 How Can JavaScript Reliably Detect Changes in the Location Hash During Ajax Navigation?

[일부 브라우저는 기본적으로 해시 랜지 이벤트를 지원하지 않을 수 있습니다. 이를 해결하기 위해 JQuery는 특별 행사를 사용할 수 있습니다. 이 경우 설정 코드를 사용하여 기본 브라우저 지원을 확인할 수 있습니다. 부족한 경우, 변경 사항을위한 투표를 위해 타이머가 설정되어 jQuery 이벤트를 트리거합니다. 이 접근법은 지원 문제로부터 코드를 절제합니다.

이러한 기술을 구현함으로써 개발자는 위치 해시 변경을 효과적으로 감지하고 그에 따라 응답하여 AJAX 응용 프로그램에서 강력하고 반응 형 해시 기반 탐색을 허용 할 수 있습니다.

.

최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3