【问题标题】:asp.net mvc + detect hashtag changeasp.net mvc + 检测主题标签更改
【发布时间】:2018-03-17 16:58:56
【问题描述】:

当我尝试检测 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 操作?

【问题讨论】:

    标签: jquery url hashtag asp.net-core-1.1


    【解决方案1】:

    hashchange() 仅适用于同一页面的主题标签更改。

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

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

    或新页面的load(),只需使用ready()

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

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

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

    希望这会有所帮助! :)

    【讨论】:

      猜你喜欢
      • 2011-12-29
      • 1970-01-01
      • 2012-07-17
      • 1970-01-01
      • 1970-01-01
      • 2018-07-12
      • 1970-01-01
      • 2016-03-04
      • 1970-01-01
      相关资源
      最近更新 更多