更多内容访问:

history
hash
单页面应用和多页面应用
React-Router源码分析-History库
History库源码分析-Action 动作类型
History库源码分析-createLocation
History库源码分析-createPath
History库源码分析-parsePath

history


浏览器历史记录对象

属性:
方法:

HTML5 对 History API 新增两个方法pushState()、replaceState(),均具有操纵浏览器历史记录能力

监听事件


1. popstate事件

每当history对象出现变化时,就会触发popstate事件

通过 a 标签或者 window.location 进行页面跳转时,都会触发 window.onload 事件,页面完成渲染点击浏览器的后退键或前进键,根据浏览器的不同机制,也会重新加载(Chrome 浏览器),或保留之前的页面(Safari 浏览器)。而对于通过 history.pushState() 或 history.replaceState() 改变的历史记录点击浏览器的后退键或前进键页面是没有反应的,那该如何控制页面渲染呢?为了配合 history.pushState() 或 history.replaceState(),HTML5 还新增一个事件用于监听 URL 历史记录改变:window.onpopstate()。

注意事项

2. hashchange事件

每当hash值发生变化时,就会触发hashchange事件,hash值的变化也会触发popstate事件

注意事项:


发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注