监听url变化
js部分:
<script>
var lasturl=window.location.href;
function isHashChanged(){
var cururl=window.location.href;
if(lasturl ==cururl ){
return false;
}
return true;
}
function hashChangeFire(){
console.info("变化了");
}
//url变化监听器
if( ('onhashchange' in window) && ((typeof document.documentMode==='undefined') || document.documentMode==8)) {
// 浏览器支持onhashchange事件
window.onhashchange = hashChangeFire; // TODO,对应新的hash执行的操作函数
} else {
// 不支持则用定时器检测的办法
setInterval(function() {
// 检测hash值或其中某一段是否更改的函数, 在低版本的iE浏览器中通过window.location.hash取出的指和其它的浏览器不同,要注意
var ischanged = isHashChanged();
if(ischanged) {
hashChangeFire(); // TODO,对应新的hash执行的操作函数
}
}, 150);
}
</script>
测试部分:
我是通过锚记链接测试是否生效的
<a href="#aa">点我到a</a>
<a href="#bb">点我到b</a>
<div id="aa">aa</div>
<div id="aa">bb</div>