关于h5 history api的认识

2018-07-27  本文已影响0人  e93a88ffeabd

History API

HTML5 History API包括2个方法:history.pushState()和history.replaceState(),和1个事件:window.onpopstate

pushState

history.pushState(stateObject, title, url),包括三个参数

pushState函数向浏览器的历史堆栈压入一个url为设定值的记录,并改变历史堆栈的当前指针至栈顶

replaceState

该接口与pushState参数相同,含义也相同。唯一的区别在于replaceState是替换浏览器历史堆栈的当前历史记录为设定的url。需要注意的是,replaceState不会改动浏览器历史堆栈的当前指针

onpopstate

该事件是window的属性。该事件会在调用浏览器的前进、后退以及执行history.forward、history.back、和history.go触发,因为这些操作有一个共性,即修改了历史堆栈的当前指针。在不改变document的前提下,一旦当前指针改变则会触发onpopstate事件

盗了张图显示下pushState与replaceState对于浏览器history对象的操作

image

总结:

上一篇 下一篇

猜你喜欢

热点阅读