23

URL 更改时如何触发函数?我尝试类似:

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

所以我的 URL 类似于http://www.mysite.com/index.html#/page/1. 当 URL 变成类似的东西时,我如何执行 jQuery 或 JavaScript 代码http://www.mysite.com/index.html#/page/2

4

5 回答 5

41

那将是一个hashchange事件,所以我建议:

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

JS 小提琴演示

参考:

于 2012-09-10T10:38:33.620 回答
4

试试这个hashchange事件,它正是为此而构建的 - http://benalman.com/projects/jquery-hashchange-plugin/

于 2012-09-10T10:37:58.667 回答
1

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

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

    $.address.internalChange(function(e) {
        // do something here
    });
});
于 2012-09-10T10:43:50.907 回答
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') // 不触发

于 2020-12-24T23:21:55.130 回答
0

仅检测用于流行的 URL 更改

window.onpopstate = function (event) { // enter code here }

于 2021-11-18T08:30:53.053 回答