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>