2009-09-22 121 views

回答

23

不能覆盖,如果用户跟随一个链接到你的页面,点击返回,将再次把他们赶走,它的行为。

但是你可以让你的页面上的JavaScript动作条目添加到历史,好像他们是点击到新页面,并控制哪些与后退和前进中的这些点击的情况下发生的。

有JavaScript库来解决这个问题,有Really Simple History是一个通俗的例子。

12

是的,可以。使用此JS:

(function(window, location) { 
    history.replaceState(null, document.title, location.pathname+"#!/stealingyourhistory"); 
    history.pushState(null, document.title, location.pathname); 

    window.addEventListener("popstate", function() { 
     if(location.hash === "#!/stealingyourhistory") { 
      history.replaceState(null, document.title, location.pathname); 
      setTimeout(function(){ 
       location.replace("http://www.programadoresweb.net/"); 
      },0); 
     } 
    }, false); 
}(window, location)); 

这将后退按钮重定向到location.replace指定

+1

这段代码真的帮了我。那么,50%。同样可以用向前按钮来完成吗?如果是这样,你可以帮我一起做一些示例代码吗? – 2015-01-01 10:42:15

0

我认为这会做的伎俩。 你可以编写你的自定义代码在浏览器上执行后退按钮,点击onpopstate函数。 这适用于HTML5。

window.onpopstate = function() { 
     alert("clicked back button"); 
    }; history.pushState({}, '');