如何在javascript中捕获浏览器的后退/前进按钮单击事件或哈希更改事件?

Stu*_*ent 8 javascript browser back forward

我想alert()在点击浏览器的后退或前进按钮或在javascript中更改散列时.我已经尝试过这个解决方案并且它正在工作,但它会导致网页中的其他链接出现问题,并在任何链接点击事件上提交两次请求.

有没有使用setInterval()功能捕获它的解决方案?所以我需要捕获哈希更改后退/前进按钮单击事件?我需要一个简单的javascript代码/函数/属性,它应该适用于所有现代浏览器.

有解决方案吗

谢谢

Rob*_*nik 13

不是个好主意

你能解释一下这背后的原因吗?我们一直在走这条防止后退/前进以及与浏览器功能类似和破坏的道路上.

事实证明,遵循浏览器并以这种方式编写应用程序更好,这些事情变得无关紧要.而且浏览器锁定越来越多的东西到客户端javascript应用程序也是如此,所以很可能你的应用程序在(很少)浏览器升级后会失败.

使用HTML5

HTML5历史规范可能正是您所追求的.这是关于Ajax应用程序和browser0s后退/转发功能应该工作和完成的方式.我建议你看看.看一个相当不错的工作演示.