转回浏览器后退按钮

时间:2015-11-20 07:45:25

标签: javascript jquery html

以下是网页流程

其他网页...> START页面> TEAM页面> PERSON页面

当用户到达PERSON page时,如何让用户返回START page,而不是在按下浏览器后退按钮时返回TEAM page?< / p>

这是我在PERSON page上尝试的内容。但是点击它时它不会移动到START page

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

3 个答案:

答案 0 :(得分:0)

简单,您可以检查是否单击了浏览器后退按钮,如果单击它将其重定向到Start Page但请确保这一点,因为当您单击后退按钮时,它始终会将其重定向到您的{{1 }}。

未经测试,但我认为这会做你想要的。

StartPage

答案 1 :(得分: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>

答案 2 :(得分: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);