使用片段标识符构建无重定向导航

时间:2011-11-18 09:53:30

标签: javascript jquery html

我想在CakePHP documentation page或Google网站上构建一个有效的导航。我的意思是:

  1. 页面导航不会发出任何重定向
  2. 片段/哈希 (#)符号在网址和地址栏中不可见
  3. 我知道我应该使用fragment identifier来模拟后退按钮的行为。我基本上提出了一个涵盖第一点的解决方案,简化:

    $.post("page", {urlId: hash}, function (data) {
      $("#content").html(data.content) // example
      // do some other stuff
    }, "json");
    

    但是我找到第二个问题的解决方案有困难,这是我的网址。我想使用不包含哈希符号的链接。现在我有这样的事情:

    http://example.com/#clients/john-doe

    看起来不像我想要的那样:

    http://example.com/clients/john-doe

    我在某处读到这是一个URL翻译任务,而不是jquery / javascript。

    感谢您的回答。

    编辑:我不需要关心旧浏览器,因为我正在开发的项目将仅在内部使用,并且同意维护对旧浏览器的支持是浪费时间。

1 个答案:

答案 0 :(得分:1)

您可以使用History API。但是你需要在旧浏览器中坚持使用哈希或常规链接。

github上有一个名为History.js的有趣项目应该抽象出不同的" API"。