使用单页网站并使用URL哈希和jQuery维护状态

我正在研究我的投资组合,完全基于jQuery。 所以我的问题是当你去一个页面,然后刷新然后它会再次带你到主页。 所以我实际上有两个问题。

  1. 你如何(通过jQuery / Javascript)从url获取“哈希码”?
    1. EG我想要这个大胆的部分: http : //portfolio.theadamgaskins.com/Portfolio/#graphicsDesign
  2. 当您导航到新页面以包含该页面的哈希码时,如何更改地址栏中的URL?
    1. EG当你进入graphicsDesign页面时,地址栏中的链接变为http://portfolio.theadamgaskins.com/Portfolio/#graphicsDesign

您将锚点指向内部链接,如下所示:

Graphics 

然后简单地让jQuery响应click事件,让浏览器自然地跟随内部链接。 浏览器现在应该在其地址栏中有内部链接。 您可以使用以下JavaScript来解析URL ,然后加载HTML文档的正确部分。 您需要编写代码,以便根据浏览器内部地址加载正确的内容。

 if(window.location.hash === "graphicsDesign" || window.location.hash === "somethingElse") { loadContent(window.location.hash); } 

jQuery BBQ(“后退按钮和查询”)插件也很不错。 http://benalman.com/projects/jquery-bbq-plugin/

使用众多历史插件中的一个,例如: http : //plugins.jquery.com/project/jquery-history-web-2-0-hashchange-history-remote

这不是网站通常建立的方式,所以从某种意义上说,你正在向上游游泳。 当你开始时,它可能似乎是较短的路径,但你可能会发现,由于你的初步决定,你必须做更多的工作。

也就是说,一定要从隐藏的所有div开始,然后显示所选的div。

我还推荐Cowboy的BBQ插件,它可以帮助你处理后退按钮以及重新加载: http : //benalman.com/projects/jquery-bbq-plugin/