如何在jQuery中触发URL更改?

时间:2012-09-10 10:35:53

标签: javascript jquery

如何在URL更改时触发功能?我试着像:

$(windows.location).change(function(){
   //execute code
});

所以我的网址就像http://www.mysite.com/index.html#/page/1。当URL变为http://www.mysite.com/index.html#/page/2

时,如何执行jQuery或JavaScript代码?

4 个答案:

答案 0 :(得分:35)

这将是hashchange事件,所以我建议:

$(window).on('hashchange', function(e){
    // do something...
});

JS Fiddle demo

参考文献:

答案 1 :(得分:4)

尝试完全为此构建的hashchange事件 - http://benalman.com/projects/jquery-hashchange-plugin/

答案 2 :(得分:1)

var current_href = location.href;
setInterval(function(){
    if(current_href !== location.href){
        // if changed Do ...
        current_href = location.href;
    }else{
        // Do ...
    }
},500);

这对我有用^^

$(window).on('hashchange') // 不触发

答案 3 :(得分:0)

您也可以尝试使用http://www.asual.com/jquery/address/

$(function(){
    $.address.strict(false);

    $.address.internalChange(function(e) {
        // do something here
    });
});