Javascript:即使在具有不同锚点的同一页面上的后退按钮之后也运行脚本



我想要实现的是即使在从#bar导航回#foo后也能运行此脚本

if ( window.location.href.indexOf('#') > -1 ) {
   var url = window.location.hash.substr(1);
   alert(url);
}

它类似于这个 https://stackoverflow.com/questions/2638292/after-travelling-back-in-firefox-history-javascript-wont-run 但不同之处在于我将导航回同一页面,但使用不同的锚点。

这有可能用无框架的javascript来实现吗?

我看到Gmail在使用锚哈希时具有类似路由器的行为(如果您浏览邮件),并且即使在向后导航时,页面也会响应。

如果不重新加载页面,则可以使用事件侦听器执行此操作。

window.addEventListener('hashchange', function () {
    // do stuff
});

最新更新