检测浏览器历史记录操作

时间:2013-01-29 15:10:41

标签: javascript jquery

我正在使用推送状态构建一个Html 5网站,我想知道它是否可能在javascript或JQuery中检测浏览器的后退按钮是否已被推送。我想把它包含在if语句中:

if (back_btn clicked){
//do stuff
}
if (forward_btn clicked){

}

2 个答案:

答案 0 :(得分:18)

您正在寻找popstate event

一个例子:

window.onpopstate = function(event) {
    alert("location: " + document.location);
}

或者使用流行的jQuery:

$(window).on('popstate',function(event) {
    alert("location: " + document.location);
});

每当访问历史记录时都会触发,例如后退/前进。快速说明,在Chrome中,这也会触发页面加载,因此快速检查事件是否为空。

if(event.originalEvent.state!=null){
    // do something
}

另一个很好的资源是History.js jQuery插件,它使用主题标签等回退。它还使得popstate事件的检测非常简单。

答案 1 :(得分:2)

对于AngularJS

webdriver-py-profile-namecopy