使用URL哈希和jQuery处理单页网站并维护状态
我正在处理我的投资组合,使其完全基于jQuery。所以我的问题是当你进入一个页面,然后刷新,然后它会带你再次进入主页。实际上,我有两个问题使用URL哈希和jQuery处理单页网站并维护状态,jquery,url,hash,Jquery,Url,Hash,我正在处理我的投资组合,使其完全基于jQuery。所以我的问题是当你进入一个页面,然后刷新,然后它会带你再次进入主页。实际上,我有两个问题 如何(通过jQuery/Javascript)从url获取“哈希代码”? 例如,我想用粗体部分:#图形设计 当导航到新页面以包含该页面的哈希代码时,如何更改地址栏中的url? 例如,当您进入图形设计页面时,地址栏中的链接将更改为 将锚点指向内部链接,如下所示: <a href="#graphicsDesign">Graphics</a&
将锚点指向内部链接,如下所示:
<a href="#graphicsDesign">Graphics</a>
使用许多可用的历史插件中的一个,例如:这里:jQuery BBQ(“后退按钮和查询”)插件也很好。
这不是网站通常的构建方式,所以从某种意义上说,你是在逆流而上。当你开始时,这似乎是一条较短的道路,但你可能会发现,由于你最初的决定,你必须做更多的工作 也就是说,请确保从隐藏所有div开始,然后显示所选div
我还推荐Cowboy's BBQ插件,它将帮助您处理后退按钮和重新加载:所有页面都包含在一个html文档中,而jQuery在页面加载时会隐藏除一个之外的所有页面。因此,我需要获取javascript中的哈希代码,这样我就可以告诉jQuery显示哪个页面。从隐藏的所有div开始,让
~hash==“graphicsDesign”
前面应该有一个哈希,就像~hash==“graphicsDesign”
@sam152这样,你可以更多地使用它来链接其他人,并加载正确的内容,这并不是说你可以前后导航。它还可以使“后退”和“前进”按钮按预期工作,并允许页面在刷新后以正确的状态重新加载。另外请注意,如果你希望谷歌为你的页面编制索引,你可能只会得到一个供谷歌编制索引的页面。因此,对于搜索引擎优化而言,这可能是一场噩梦。解决方案:响应Nathan。。我同意。这将创建重复的内容,因为搜索引擎页面上的所有日期都是相同的。视图中的更改只在前端,但谷歌索引所有!
if(window.location.hash === "graphicsDesign" ||
window.location.hash === "somethingElse") {
loadContent(window.location.hash);
}