監聽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>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章