【问题标题】:How to get the browser to detect a hashchange如何让浏览器检测到 hashchange
【发布时间】:2012-12-16 02:44:06
【问题描述】:

我正在使用hashchange plugin。我可以让我的链接将 hashchange 添加到 URL,但我无法让浏览器识别链接中的哈希。

浏览器只是加载

localhost:3000/pages#?type=1 为localhost:3000/pages

忽略整个哈希部分。

JS如下……

$(function(){

  $(window).hashchange( function(){
    var hash = location.hash;

    $('.links a').each(function(){
      var that = $(this);
      that[ that.attr( 'href' ) === hash ? 'addClass' : 'removeClass' ]( 'selected' );
    });
  })

  $(window).hashchange();

});

显然我在这里遗漏了一些东西,尽管这段代码基本上是插件文档演示中提供的内容。

【问题讨论】:

  • 我不明白?为什么你需要一个插件,因为它在新版本的 jQuery 中是开箱即用的,为什么当 hashchange 没有重新加载页面时,你需要检查所有链接与 hash 来分配选定的类,以及您可以直接分配课程!
  • 使用此代码的链接使用 .load 函数将不同的内容重新加载到页面上的 div 中。我需要人们能够使用后退和前进浏览器按钮,从而在 div 内容更改时循环浏览它。以及使用户能够将 URL 复制并粘贴给人员,从而在 div 中加载正确的内容。
  • 这实际上并不是添加所选类,而是让浏览器将哈希链接识别为 url 参数。

标签: javascript jquery ruby-on-rails ruby-on-rails-3


【解决方案1】:

window.location.hash 是获取哈希字符串的方式。从那里,根据需要操作字符串。

【讨论】:

    猜你喜欢
    • 2011-10-13
    • 2011-01-14
    • 2012-01-20
    • 2014-05-22
    • 2013-10-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多