Javascript:需要检测用户何时使用更改的哈希标记重新访问页面

Javascript:需要检测用户何时使用更改的哈希标记重新访问页面,javascript,hyperlink,hashtag,Javascript,Hyperlink,Hashtag,问题是(至少在我当前的浏览器中),更改哈希标记并输入新的url不会触发页面刷新,因此我不知道如何立即检测何时更改了哈希标记 有没有一种优雅的方法可以做到这一点?检查一个新的位置。hash这是一种令人讨厌的解决方案,但您可以每隔一段时间轮询URL以进行更改: var hash = window.location.hash; function poll() { if (window.location.hash != hash) { hash = window.location.hash

问题是(至少在我当前的浏览器中),更改哈希标记并输入新的url不会触发页面刷新,因此我不知道如何立即检测何时更改了哈希标记


有没有一种优雅的方法可以做到这一点?

检查一个新的
位置。hash
这是一种令人讨厌的解决方案,但您可以每隔一段时间轮询URL以进行更改:

var hash = window.location.hash;

function poll() {
  if (window.location.hash != hash) {
    hash = window.location.hash;

    // Hash has changed. Do stuff here.
  }
}

setInterval(poll, 100);

每100毫秒或什么的?哈哈,这正是我设定的时间间隔!不幸的是,阿菲特。可能会有一个事件,但我怀疑它是否得到IE的支持。请参见以下问题: