原文网址:JS--popstate事件--使用/教程/实例_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍JavaScript的popstate事件的用法。
官网网址
WindowEventHandlers.onpopstate - Web API 接口参考 | MDN
相关网址
JS--history--使用/教程/实例_IT利刃出鞘的博客-CSDN博客_js中history
概述
当history对象发生变化时,就会触发popState事件。通过event.state可以访问当前历史记录的状态对象的拷贝。
当网页加载时,各浏览器对popstate事件是否触发有不同的表现,Chrome 和 Safari会触发popstate事件,而Firefox不会。
会触发popstate事件的场景
- 用户点击浏览器的前进、后退按钮
- 代码中调用history.back() 、history.forward()、history.go()
- a 标签的锚点
不会触发popstate事件的场景
- 代码中调用pushState()、replaceState()
代码示例
window.onpopstate = function(event) {
console.log(event.state)
}
// 或者
window.addEventListener('popstate', function(event) {
console.log('state: ' + JSON.stringify(event.state));
});