Javascript 检测回浏览器历史记录

Javascript 检测回浏览器历史记录,javascript,Javascript,有很多关于这个问题的帖子,有些可以找到解决方案,但没有一个对我有用 我想知道用户何时按下了浏览器上的后退按钮,以便我可以采取适当的行动。但当我按下按钮时什么也没发生。我已经试了几天了,希望有人能给我点启示。 这是我的js代码 function browserButtonEvent() { if(window.event) { if(window.event.clientX < 40 && window.event.clientY < 0) {

有很多关于这个问题的帖子,有些可以找到解决方案,但没有一个对我有用

我想知道用户何时按下了浏览器上的后退按钮,以便我可以采取适当的行动。但当我按下按钮时什么也没发生。我已经试了几天了,希望有人能给我点启示。 这是我的js代码

function browserButtonEvent() {
    if(window.event) {
        if(window.event.clientX < 40 && window.event.clientY < 0) { //ie

        } 
        else 
        {
            alert("navigation button clicked");
        }
    }
    else {

        if(event.currentTarget.performance.navigation.type == 1) {
            alert("Refreshed");         
        }
        if(event.currentTarget.performance.navigation.type == 2) {
            alert("Back button pressed");
        }
    }
}
函数browserButtonEvent(){
if(window.event){
如果(window.event.clientX<40&&window.event.clientY<0){//ie
} 
其他的
{
警报(“单击导航按钮”);
}
}
否则{
if(event.currentTarget.performance.navigation.type==1){
警报(“刷新”);
}
if(event.currentTarget.performance.navigation.type==2){
警报(“按下后退按钮”);
}
}
}
这是我的测试html页面。(我还有两页要用,但我想一页就足够了)



指数



第1页

返回 向前地

您可以尝试使用
onbeforeonload

window.onbeforeunload = function () {
   browserButtonEvent();
};

不过有个陷阱。后退按钮和重新刷新按钮都将调用此函数。当我遇到同样的问题时,我就这么做了。

你可以试试这个,但可能需要对整个网站/应用程序进行修改:

你问错了问题。您想询问“检测浏览器历史记录”。这也可以由您知道的键盘和鼠标快捷键触发。是否可能输入
browserButtonEvent
,但没有调用任何警报?不,我不输入if子句。它只是检查if状况,但从未进入身体。这就好像条件总是错误的,即使按下了后退按钮。好吧,你所做的一切都可能违反了互联网的潜规则,编程人员不会干扰浏览器的后退行为。我建议你在互联网发展的其他不那么侵入性的前沿领域赚钱。这会帮你省去很多麻烦…(还有用户的)你的意思可能是
onbeforeunload
。。。不,我不是说onbeforeunload,因为当我通过单击F5刷新页面时,这个方法也会被调用。我只想知道是后退按钮还是前进按钮被按下了
window.onbeforeunload = function () {
   browserButtonEvent();
};