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
}
希望对您有所帮助! :)
当我尝试检测 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
}
希望对您有所帮助! :)