javascript - 在 html 中,window.onpopstate 在加载和后退箭头时都会触发 - 如何知道?

标签 javascript html dom popstate

在我的页面上,我在 window.onpopstate 上有一个监听器

我希望捕获用户的后退箭头并运行我自己的例程

但是 window.onpopstate 在 1) 页面初始加载、2) 重新加载以及 3) 用户按下后退箭头时触发

可以创建一个状态空间标志并检查它。但更自然的做法是从事件本身确定发生了什么。

有什么内在方法可以确定事件是从加载按钮还是后退按钮触发的?当我检查这两个事件时,它们看起来几乎一样。

最佳答案

window.onpopstate 事件在用户在同一文档的两个历史条目之间导航时触发,即每次事件历史条目更改时。

点击后退按钮、页面加载和页面重新加载时都会触发(Firefox 不会在页面加载时发出此事件)。因此,您看到的行为是有意为之的。

而且,对于后退按钮,我想没有任何方法可以使用此事件检测后退按钮点击。

关于javascript - 在 html 中,window.onpopstate 在加载和后退箭头时都会触发 - 如何知道?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15607894/

相关文章:

javascript - Jquery 动态变量名(由字符串和数字组成)

javascript - Vuex State 返回值不同

javascript - 在 HTML 页面上打开字体对话框

javascript - 元素未定义 jQuery $(element).remove()

javascript - 在 Worklight Adapter 中解析 XML 的方法是什么?

javascript - 简化分页页面列表的生成

html - 转换后文本模糊 : translate and it is adjacent to another element with an animation

javascript - AngularJS 将变量传递给模板

dom - 如何管理DOM元素依赖性

javascript - 如何使用 dom-repeat 在 Polymer 1.0 中创建动态菜单