【问题标题】:Browser back and forward button events, without a jQuery plugin浏览器后退和前进按钮事件,无需 jQuery 插件
【发布时间】:2013-06-12 17:11:20
【问题描述】:

我希望能够在用户单击浏览器“后退”和“前进”按钮时添加某些行为。

有没有办法用 JavaScript 说这样的话:

backButton.onclick = function() {
// do something
}

forwardButton.onclick = function() {
//do something else
}

有没有办法直接使用 JavaScript,不依赖任何插件?

【问题讨论】:

标签: javascript


【解决方案1】:
window.addEventListener("popstate", function(e) { // if a back or forward button is clicked

// do whatever

}

不过,仅适用于支持 HTML5 的浏览器。

其他浏览器支持请关注History.js

【讨论】:

  • 效果很好,我很快就在我的代码中实现了它。但是,我怎样才能具体区分后退按钮和前进按钮?试图检测到这一点,每次单击“后退”和“前进”时,我都会在控制台中显示“e”对象。那么这两种情况之间这个对象的唯一区别是 e.state 的内容 - 一个对象或空值。虽然我对此表示怀疑,但我不得不问 - 这是按钮之间差异的指示吗??
  • @TheCueBeMan,我有同样的问题,“我如何区分被点击的浏览器前进和后退箭头。“popstate”检测只显示点击了一个或另一个 - 而不是哪个被点击点击。我进行了广泛的搜索,但我无法得到这个问题的单一答案!
猜你喜欢
  • 1970-01-01
  • 2013-07-31
  • 1970-01-01
  • 2011-07-28
  • 1970-01-01
  • 2014-11-06
相关资源
最近更新 更多