2015-11-20 332 views
0

下面是網頁流量去一回瀏覽器後退按鈕

其他網頁...>起始頁>隊頁>人員頁

當用戶到達PERSON page,我怎樣才能使用戶回到START page,而不是回到TEAM page當瀏覽器後退按鈕被按下?

這是我在PERSON page上試過的。但點擊後它不會移動到START page

window.onhashchange = function() { 
    window.history.go(-1); 
} 
+0

您無法覆蓋後退按鈕的功能。 – Cerbrus

+0

'window.history.go(-2)'有什麼問題? – Lewis

+0

在TEAM頁面上執行'location.replace(「personpage.html」)' – mplungjan

回答

0

要使後退按鈕跳過流程中的頁面,請使用location.replace鏈接到NEXT頁面。因此,團隊網頁:

$(function() { 
    $(".person").on("click",function(e) { // when clicking 
    e.preventDefault(); 
    location.replace(this.href); // replace team page with person page in the history 
    }); 
}); 

假設

<a href="frank.html" class="person">Frank</a> 
<a href="bob.html" class="person">Bob</a> 
0

其簡單,您可以檢查瀏覽器的後退按鈕被點擊與否,如果它點擊它重定向到Start Page但可以肯定的是因爲當過您單擊後退按鈕它總是將它重定向到您的StartPage

未測試,但我認爲這將做你想做的。

window.onpopstate = function(){ 
    window.location="StartPage";//you page 
    }; 
0

我想你可以通過保持在您的網站的軌道導航的,作爲一個小例子做到這一點,我寫這fiddle,檢查導航如果它符合團隊,個人,團隊將採取用戶返回到主頁

我在這裏想主要部分是自己處理用戶的導航,並檢查它是否與你期待什麼符合。爲了確保他們仍然可以訪問團隊站點,同時清除導航也將是一件好事

function handleNavigation() { 
    var loc = document.location.href.split('#')[1]; 
    if (!loc) { 
     loc = 'home'; 
    } 
    console.log(loc); 
    toggleClass(curloc, 'inactive'); 
    toggleClass(loc, 'inactive'); 
    if (curloc != loc) { 
     tracker.push(loc); 
     curloc = loc; 
     if (tracker.length > 3) { 
      tracker.shift(); 
     } 
     if (tracker.join(',') === 'team,person,team') { 
      document.location.replace(document.location.href.split('#')[0]); 
      return; 
     } 
    } 
} 

window.addEventListener('hashchange', handleNavigation); 
window.addEventListener('load', handleNavigation);