描述: 在实际的项目中,我们经常会遇到修改history的问题,如:通过pushState(state, title,url);修改浏览器history历史记录,那我们有没有好的方法可以监听url的变化呢?
示例:
// 增加一条history历史记录
history.pushState({}, 'test', '/myself/world/index');
// 监听前进后退
$(window).bind('popState', function() {
console.log(location.href);
})
联想:
onhashchange 监听location.hash值的变化,即url中#后的变化
<body onhashchange="changeFn()"></body>
window.addEventListener('hashchange', function(){
console.log('锚点已改变');
})