下面是网页流量去一回浏览器后退按钮
其他网页...>起始页>队页>人员页
当用户到达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