用户访问网页的历史记录通常会被保存在一个类似于栈的对象中,即history对象,点击返回就出栈,跳下一页就入栈。它提供了以下方法来操作页面的前进和后退:
window.history.back()返回到上一个页面
window.history.forward()进入到下一个页面
window.history.go([delta])跳转到指定页面
HTML5对HistoryApi进行了增强,新增了两个Api和一个事件,分别是pushState、replaceState和
onpopstate:
pushState是往history对象里添加一个新的历史记录,即压栈。
replaceState是替换history对象中的当前历史记录。
当点击浏览器后退按钮或js调用history.back都会触发onpopstate事件。
与其类似的还有一个事件:onhashchange,onhashchange是老API,浏览器支持度高,本来是用来监听hash变化的,但可以被利用来做客户端前进和后退事件的监听,而onpopstate是专门用来监听浏览器前进后退的,不仅可以支持hash,非hash的同源
url也支持。
上一篇:浏览器缓存机制
下一篇:Web语义化和SEO