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

我希望在点击浏览器历史记录返回按钮时重新加载页面。但是,由于URL经常使用JavaScript的
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()">