>웹 프론트엔드 >JS 튜토리얼 >브라우저에서 뒤로 버튼 클릭을 어떻게 감지할 수 있나요?

브라우저에서 뒤로 버튼 클릭을 어떻게 감지할 수 있나요?

DDD
DDD원래의
2024-10-22 14:02:02966검색

How Can You Detect Back Button Clicks in a Browser?

브라우저에서 뒤로 버튼 클릭 감지

사용자 탐색 이벤트를 추적하기 위해 window.onbeforeunload 이벤트 리스너를 사용할 수 있습니다. 그러나 이 이벤트는 뒤로 버튼을 누를 때뿐만 아니라 페이지를 새로 고치거나 다시 로드하는 동안에도 트리거됩니다.

해결책:

이 문제를 해결하려면 다음 코드를 사용합니다. window.onload 이벤트를 사용할 수 있습니다.

window.onload = function () {
    if (typeof history.pushState === "function") {
        history.pushState("jibberish", null, null);
        window.onpopstate = function () {
            history.pushState('newjibberish', null, null);
            // Handle back/forward navigation here
        };
    }
    else {
        var ignoreHashChange = true;
        window.onhashchange = function () {
            if (!ignoreHashChange) {
                ignoreHashChange = true;
                window.location.hash = Math.random();
                // Handle hash change navigation here
            }
            else {
                ignoreHashChange = false;
            }
        };
    }
}

이 솔루션은 뒤로 탐색과 새로 고침 및 다시 로드와 같은 기타 이벤트를 구별하여 뒤로 버튼 클릭을 정확하게 처리합니다. Chrome, Firefox 등의 브라우저에서 원활하게 작동됩니다.

위 내용은 브라우저에서 뒤로 버튼 클릭을 어떻게 감지할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.