繁体   English   中英

如何检测javascript点击了后退按钮或前进按钮?

[英]How to detect is that back button OR forward button clicked by javascript?

只是为了确保,我不是在问如何捕捉后退/前进按钮事件。

window.addEventListener('popstate', function (e) {
                       alert("Yahoooo!!!!"); 
                   });

上面的那个功能被触发是浏览器的后退按钮还是浏览器的前进按钮,但我无法检测到哪个被点击了? 是后退按钮还是前进按钮?

是否有针对他们的任何特定事件,我可以检测到它是“后退”或“前进”按钮?

编辑:虽然我很欣赏“重复问题”的建议,但在 stackoverflow 上发布类似的问题,但接受的答案来自 2012 年 1 月! 从那时起,很多事情发生了变化。 也许已经有更简单的方法了!

谢谢

我有同样的问题,我使用现代 javascript 找到了答案。

代码可在 GitHub 上找到

您可以使用以下方式检测在任何依赖 popstate / pushstate 的 js 应用程序中按下的浏览器后退和前进按钮:

// e.detail.direction will be the "backward" or "forward" String according the pressed button 
window.addEventListener('nav::user_asked_history', function(e) {
    console.log('nav::direction=', e.detail.direction); 
})

您可以使用以下方式显示/隐藏您自己的应用内后退和前进按钮:

is_nav_forward_possible()
is_nav_backward_possible()

您还可以使用浏览您的应用内用户历史记录

let nav_position;
let nav_history; 

享受现代 JS 的乐趣!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM