下面是網頁流量去一回瀏覽器後退按鈕
其他網頁...>起始頁>隊頁>人員頁
當用戶到達PERSON page
,我怎樣才能使用戶回到START page
,而不是回到TEAM page
當瀏覽器後退按鈕被按下?
這是我在PERSON page
上試過的。但點擊後它不會移動到START page
?
window.onhashchange = function() {
window.history.go(-1);
}
下面是網頁流量去一回瀏覽器後退按鈕
其他網頁...>起始頁>隊頁>人員頁
當用戶到達PERSON page
,我怎樣才能使用戶回到START page
,而不是回到TEAM page
當瀏覽器後退按鈕被按下?
這是我在PERSON page
上試過的。但點擊後它不會移動到START page
?
window.onhashchange = function() {
window.history.go(-1);
}
要使後退按鈕跳過流程中的頁面,請使用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>
其簡單,您可以檢查瀏覽器的後退按鈕被點擊與否,如果它點擊它重定向到Start Page
但可以肯定的是因爲當過您單擊後退按鈕它總是將它重定向到您的StartPage
。
未測試,但我認爲這將做你想做的。
window.onpopstate = function(){
window.location="StartPage";//you page
};
我想你可以通過保持在您的網站的軌道導航的,作爲一個小例子做到這一點,我寫這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);
您無法覆蓋後退按鈕的功能。 – Cerbrus
'window.history.go(-2)'有什麼問題? – Lewis
在TEAM頁面上執行'location.replace(「personpage.html」)' – mplungjan