Javascript 重新加载浏览器历史记录上的页面返回按钮
我希望在点击浏览器历史记录返回按钮时重新加载页面。但是,由于URL经常使用JavaScript的Javascript 重新加载浏览器历史记录上的页面返回按钮,javascript,browser,location,back-button,Javascript,Browser,Location,Back Button,我希望在点击浏览器历史记录返回按钮时重新加载页面。但是,由于URL经常使用JavaScript的window.history.pushState更改,因此我不希望每次位置更改时都重新加载页面。在默认情况下,浏览器只需更改URL,而无需在点击后退按钮时重新加载页面 (这样,我想使用浏览器历史回顾按钮作为某种“撤消”功能。)试试这个 function HandleBackFunctionality(){ //For IE if(window.event){ //To che
window.history.pushState更改,因此我不希望每次位置更改时都重新加载页面。在默认情况下,浏览器只需更改URL,而无需在点击后退按钮时重新加载页面
(这样,我想使用浏览器历史回顾按钮作为某种“撤消”功能。)试试这个
function HandleBackFunctionality(){
//For IE
if(window.event){
//To check if its Back
if(window.event.clientX < 40 && window.event.clientY < 0){
alert("Browser back button is clicked…");
//Its Refresh
} else {
alert("Browser refresh button is clicked…");
}
}
//Other browsers
else {
if(event.currentTarget.performance.navigation.type == 1){
alert("Browser refresh button is clicked…");
}
if(event.currentTarget.performance.navigation.type == 2){
alert("Browser back button is clicked…");
}
}
}
但是,此方法不适用于键盘控件。也许HTML5可以帮助您,请看[[1]:谢谢您的评论。但是,使用replaceState()
而不是pushState()
会终止“撤消”功能。给我一个“ReferenceError:事件未定义”在Firefox的控制台中。在Chrome中没有错误,但是后退按钮仍然没有刷新。
<body onbeforeunload="HandleBackFunctionality()">