<body>
<button id='btn'>跳转</button>
<button id='replace'>跳转replace</button>
<script>
// history.pushState 不能跨域
var oButton = document.getElementById('btn')
oButton.addEventListener('click',function(){
history.pushState({status: 0} ,'' ,'?data=1')
},false)
// 浏览器加载的第一个页面没有状态 因此单击 后退 的按钮返回浏览器加载的第一个页面时。event.state 值为 null
window.onpopstate = function (e) {
console.log(window.history.state)
}
// history.replaceState 重写当前状态
var oButton = document.getElementById('btn')
oButton.addEventListener('click',function(){
history.replaceState({status: 0} ,'')
},false)
// 浏览器加载的第一个页面没有状态 因此单击 后退 的按钮返回浏览器加载的第一个页面时。event.state 值为 null
window.onpopstate = function (e) {
console.log(window.history)
console.log(window.history.state)
}
</script>
</body>
vue-router 原理 待 研究