首页  >  文章  >  web前端  >  如何检测浏览器中的后退按钮点击?

如何检测浏览器中的后退按钮点击?

DDD
DDD原创
2024-10-22 14:02:02900浏览

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