Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用URL哈希和jQuery处理单页网站并维护状态_Jquery_Url_Hash - Fatal编程技术网

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

使用URL哈希和jQuery处理单页网站并维护状态,jquery,url,hash,Jquery,Url,Hash,我正在处理我的投资组合,使其完全基于jQuery。所以我的问题是当你进入一个页面,然后刷新,然后它会带你再次进入主页。实际上,我有两个问题 如何(通过jQuery/Javascript)从url获取“哈希代码”? 例如,我想用粗体部分:#图形设计 当导航到新页面以包含该页面的哈希代码时,如何更改地址栏中的url? 例如,当您进入图形设计页面时,地址栏中的链接将更改为 将锚点指向内部链接,如下所示: <a href="#graphicsDesign">Graphics</a&

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

  • 如何(通过jQuery/Javascript)从url获取“哈希代码”?
  • 例如,我想用粗体部分:#图形设计
  • 当导航到新页面以包含该页面的哈希代码时,如何更改地址栏中的url?
  • 例如,当您进入图形设计页面时,地址栏中的链接将更改为

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

    <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);
    }