2009-09-22 60 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({}, '');