javascript – 检测浏览器历史记录操作

前端之家收集整理的这篇文章主要介绍了javascript – 检测浏览器历史记录操作前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用推送状态构建一个 Html 5网站,我想知道它是否可能在javascript或 JQuery中检测浏览器的后退按钮是否被推送.我想把它包含在if语句中:
  1. if (back_btn clicked){
  2. //do stuff
  3. }
  4. if (forward_btn clicked){
  5.  
  6. }

解决方法

你正在寻找 popstate event.

一个例子:

  1. window.onpopstate = function(event) {
  2. alert("location: " + document.location);
  3. }

或者随着jQuery的流行:

  1. $(window).on('popstate',function(event) {
  2. alert("location: " + document.location);
  3. });

当历史记录被访问时,这将触发,例如向后/向前.一个快速的注意事项,在Chrome中,这也会在页面加载中触发,所以快速方法是检查事件是否为空.

  1. if(event.originalEvent.state!=null){
  2. // do something
  3. }

另一个好的资源是History.js jQuery插件,它使用hashtag等等.它也使得检测到popstate事件非常简单.

猜你在找的JavaScript相关文章