浏览器的前进后退

2018-01-03  本文已影响0人  _信仰zmh

设置浏览器的前进或后退,涉及到history对象的使用。
它包含了用户在浏览器窗口中访问过的url地址,数以window这个对象下的一部分。

history对象的属性
浏览器的前进和后退

history.back(): 加载history列表中前一个url地址,相当于后退;
history.forward(): 加载history列表中下一个url地址,相当于前进按钮;

与go()方法的区别:

history.go(number|URL)

举个栗子:

history.go(-1); // 后退一页
history.go(0); // 刷新当前页
history.go(1); //前进一夜
history.go(-2); // 后退两页
history.pushState(state, title, url)

它可以用来 改变url,并且不刷新页面
原理: 她会改变当前页面的location.href并且修改当前的history.state对象,执行后history.length会增加1。

history.replaceState(state, title, url)

它只会修改当history.state和location.href,用法同pushState,但它不会改变history.length。

pushState和replaceState第三个参数不可跨域,并且不会触发浏览器的popstate事件和onhashchange事件

其他方法达到无刷新

可以通过改变location.href或location.hash来达到无刷新的目的。

上一篇 下一篇

猜你喜欢

热点阅读