其他分享
首页 > 其他分享> > hash和history的区别

hash和history的区别

作者:互联网

history与hash 功能一致底层实现不一样

window.history.pushState(state,title,url)
//state:需要保存的数据,这个数据在触发popstate事件时,可以在event.state里获取
//title:标题,基本没用,一般传null
//url:设定新的历史纪录的url。新的url与当前url的origin必须是一样的,否则会抛出错误。url可以时绝对路径,也可以是相对路径。
//如 当前url是 https://www.baidu.com/a/,执行history.pushState(null, null, './qq/'),则变成 https://www.baidu.com/a/qq/,
//执行history.pushState(null, null, '/qq/'),则变成 https://www.baidu.com/qq/

window.history.replaceState(state,title,url)
//与pushState 基本相同,但她是修改当前历史纪录,而 pushState 是创建新的历史纪录

window.addEventListener("pospstate",function(){
 //监听浏览器前进后退事件,pushState与replaceState方法不会触发
})
window.history.back()//后退
window.history.forward()//前进
window.history.go(1)//前进一部,-2回退两不,window.history.lengthk可以查看当前历史堆栈中页面的数量

hash有#/ ‘#/’代表该位置的标识符
history刷新页面会404,需要服务器设置一下

标签:hash,区别,url,state,window,pushState,null,history
来源: https://blog.csdn.net/fairyfree/article/details/122217868