【问题标题】:What does #/ means in url?url中的#/是什么意思?
【发布时间】:2016-12-18 22:38:56
【问题描述】:

我正在开发 ROR 网络应用程序。我的网页网址如下所示-

http://dev.ibiza.jp:3000/facebook/report?advertiser_id=2102#/dashboard

这里我知道advertisingr_id 是2102,但我不明白#/dashboard 指的是什么?

【问题讨论】:

    标签: html ruby-on-rails angularjs web fragment-identifier


    【解决方案1】:

    # 符号后面的 URL 部分通常不会在页面请求中发送到服务器。如果您打开 Web 检查器并查看对页面的请求,您将看到 #/dashboard 部分根本不包含在请求中。

    在普通(基本 HTML)网页上,# 符号可用于链接到页面中的某个部分,以便浏览器在页面加载后跳转到该部分。

    在花哨的 javascript-heavy Web 应用程序中,# 符号通常使用后跟更多 URL 路径,例如www.example.com/some-path#/other-path/etc URL 的 other-path/etc 部分不被服务器看到,但可用于 Javascript在浏览器中阅读并可能根据该 URL 路径显示不同的内容。

    因此,在您的情况下,URL 的第一部分是对服务器的请求:

    http://dev.ibiza.jp:3000/facebook/report?advertiser_id=2102

    URL 的第二部分可以让 Javascript 在页面加载后显示页面的特定视图:

    #/dashboard

    # 符号也用于创建Fragment Identifier,通常还用于链接到网页中的特定内容(例如使浏览器跳转到页)。

    正如其他人所提到的,这对 SEO 有影响。为了索引这样的页面,您可能必须采用不同的技术来允许搜索引擎访问“# 符号后面”的内容。

    【讨论】:

      【解决方案2】:

      # 符号称为锚点,它重定向到 html 页面上的特定位置。

      这是一种爬取技术,你可以阅读更多Here

      【讨论】:

      • 链接在顶部声明:“此建议已于 2015 年 10 月正式弃用”。你应该得到一些最新的东西。
      【解决方案3】:

      提供另一个例子

      这里向github请求一个java类的源代码

      https://github.com/spring-cloud/spring-cloud-consul/blob/master/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistry.java

      通过附加“#L90”,网络浏览器将发出相同的请求,然后滚动到第 90 行并突出显示代码。

      https://github.com/spring-cloud/spring-cloud-consul/blob/master/spring-cloud-consul-discovery/src/main/java/org/springframework/cloud/consul/serviceregistry/ConsulServiceRegistry.java#L90

      您的网络浏览器向 github 服务器发出了相同的请求,但在锚定的情况下,在收到响应后执行了突出显示所选行的附加操作。

      【讨论】:

        【解决方案4】:

        #之后是位置的哈希值;这 !搜索引擎使用以下内容来帮助索引 AJAX 内容。之后可以是任何东西,但通常呈现为看起来像路径(因此 /)

        【讨论】:

          猜你喜欢
          • 2017-02-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-11-18
          • 1970-01-01
          • 2011-01-20
          • 2020-05-21
          • 1970-01-01
          相关资源
          最近更新 更多