在这个问题上有很多帖子,有些会导致一个解决方案,但其中没有一个似乎适合我。
我想知道用户何时按下浏览器上的后退按钮,以便我可以采取适当的操作。但按下按钮时没有任何反应。我现在已经尝试了几天,希望有人可以发光。 这是我的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");
}
}
}
这是我的测试html页面。 (我还有2个页面,但我认为其中一个应该足够了)
<body onbeforeunload="browserButtonEvent()">
<h3>Index</h3>
<div style="margin-left: auto; margin-right: auto; width: 600px; height: 600px; background-color: lightblue; margin-top: 200px;">
<form action="">
<input type="button" value="Press" onclick="goHistory()"/>
<br />
<!--<input type="button" value="Test" id="test" />-->
<br />
<a href="page2.html">Page 2 </a>
<br />
<a href="page3.html">Page 3 </a>
<p>Page 1</p>
<div style="margin-left: auto; margin-right: auto; width: 150px;">
<a id="back" style="float: left;">Back</a>
<a id="forward" style="float: right;">Forward</a>
</div>
</form>
</div>
</body>
答案 0 :(得分:0)
您可以尝试使用onbeforeonunload
window.onbeforeunload = function () {
browserButtonEvent();
};
虽然有一个问题。后退按钮和resfresh按钮都将调用此功能。当我遇到同样的问题时,这就是我走了。
答案 1 :(得分:0)
您可以试试这个,但可能需要对整个网站/应用程序进行更改: http://benalman.com/projects/jquery-bbq-plugin/