url中的#/是什么意思?



我正在ROR web应用程序上工作。我的网页网址如下-

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

在这里我明白,advertiser_id是2102,但我无法理解什么#/dashboard是指向?

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

在一个正常的(基本的HTML)网页上,#符号可以用来链接到页面内的一个部分,以便浏览器在页面加载后跳转到该部分。

在花哨的Javascript重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

#符号也用于创建片段标识符,通常也用于链接到网页内的特定内容(例如使浏览器跳转到页面上的特定部分)。

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

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

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

提供另一个示例

这是一个请求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",web浏览器将发出相同的请求,然后滚动到第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

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

#后的

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

相关内容

  • 没有找到相关文章

最新更新