我正在使用此代码了解签名后的url中的内容:

var a = document.URL.split("#")[1];

例如,如果页面的url是http://example.com/path/to/somewhere/#contentpart,变量a将包含contentpart
但问题是,用户可能会单击指向同一页面但指向另一部分的链接(例如:<a href="#footer">Go to footer</a>),如果是,页面将不会重新加载。(只有页面将被导航到其他位置)
我的问题是,如何在登录同一页面后检测URL何时更改?
欢迎使用任何javascript/jQuery方法。

最佳答案

我建议,记住你现在的密码:

$(window).on('hashchange', function(e){
    var newHash = document.href.split('#')[1];
});

尽管使用起来容易一点:
$(window).on('hashchange', function(e){
    var newHash = document.location.hash;
    console.log(newHash);
});

JS Fiddle demo
如果不希望哈希包含#字符,请改用:
$(window).on('hashchange', function(e){
    var newHash = document.location.hash.substring(1);
    console.log(newHash);
});

JS Fiddle demo

关于javascript - 在#号后检测网址更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11978360/

10-12 15:13