asp.net mvc + 检测主题标签更改

asp.net mvc + detect hashtag change

当我尝试检测 url 中的主题标签更改时,例如:

http://localhost:54345/Shop/Catalog?cg=9#3221

http://localhost:54345/Shop/Product#1241

Jquery hashchange 方法没有触发。

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

如果主题标签在目录操作之间发生变化,则它会检测到。例如:

http://localhost:54345/Shop/Catalog?cg=9#3221

http://localhost:54345/Shop/Catalog?cg=9#2453

所以我的问题是,无法在不同请求之间检测标签?或不同的 ASP.NET MVC 操作?

hashchange() 仅适用于同一 页面 .

的主题标签更改

根据您希望事件触发的时间,您可以定位第一页的 unload()

$(window).bind('beforeunload', function() {
  // do something before the page unloads
});

或者load() of the new page, which would be done simply with ready():

$(window).ready(function() {
  // do something after the new page loads
});

如果选择后者,您可以添加条件逻辑来检查主题标签以模拟相同的效果:

if(window.location.hash) {
  // Fragment exists
}

希望对您有所帮助! :)