前端实现路由变化主要有两种方式,这两种方式最大特点就是实现URL切换无刷新功能 - 通过hash改变,利用window.onhashchange 监听。
- 通过history的改变,进行js操作加载页面,然而history并不像hash那样简单,因为history的改变,除了浏览器的几个前进后退(使用 history.back(), history.forward()和 history.go() 方法来完成在用户历史记录中向后和向前的跳转。)等操作会主动触发popstate 事件,pushState,replaceState 并不会触发popstate事件。
history
主要来了解一下History
pushState()方法
需要三个参数: 一个状态对象, 一个标题 (目前被忽略), 和 (可选的) 一个URL. 让我们来解释下这三个参数详细内容: 状态对象(state object) JavaScript实现九宫格移动拼图游戏 JavaScript实现九宫格点击变色效果 |