2017-04-25 49 views
0

这是一个单页面网站,其导航由锚链接组成,链接指向页面的不同部分。点击导航时,将URL更新为例如(。com /#照片),并使浏览器添加为每个点击的锚点链接的新页面。这使得用户如果想回到以前的网站,必须多次点击。我想在最多2次后退按钮,1次去页面顶部,2次去以前的网站。我真的不知道在哪里实现这些代码,或者,如果它甚至是理想的混淆浏览器对用户的行为。我的谷歌在这个问题上的信息很少。视差页面锚点链接更新URL,导致浏览器导航问题

回答

0

您可以将函数附加到window.onpopstate事件,然后检查window.history.length是否已更改。如果它没有改变,可能是后退按钮。

这样的..

var prevHistoryLength = -1; 
window.onpopstate = function(e){ 
    if (prevHistoryLength == window.history.length) 
     document.location = document.referrer; 
    prevHistoryLength = window.history.length; 
} 
+0

这并没有真正发挥作用。也许更好的解决方案是防止URL重写,例如www.whatever.com/index,并在使用锚链接时保持这种状态。 –