Web applications 为什么有时浏览器';s URL以'结尾#';

Web applications 为什么有时浏览器';s URL以'结尾#';,web-applications,Web Applications,在多次请求后,浏览器上的URL有时会变成: 有人知道原因吗?这是一个定位点,因此浏览器直接转到指定的ID 您提供的url有一个指向空ID的锚,因此不会发生任何事情。但是你可以想象在页面顶部有一个锚,这就是“返回顶部”按钮的制作方式 href="#top" 是指同一页面中链接的内部锚定标记 你可以在下面的网站上看到这个例子。 那是一个杂凑。如果您在散列符号后面放置了一些内容,浏览器将尝试查找具有该名称的元素,并实际滚动到该元素 如果后面没有绳子,那就没有什么意义了。一些web构建引擎和框架可能

在多次请求后,浏览器上的URL有时会变成:


有人知道原因吗?

这是一个定位点,因此浏览器直接转到指定的ID

您提供的url有一个指向空ID的锚,因此不会发生任何事情。但是你可以想象在页面顶部有一个锚,这就是“返回顶部”按钮的制作方式

href="#top"

是指同一页面中链接的内部锚定标记

你可以在下面的网站上看到这个例子。
那是一个杂凑。如果您在散列符号后面放置了一些内容,浏览器将尝试查找具有该名称的元素,并实际滚动到该元素

如果后面没有绳子,那就没有什么意义了。一些web构建引擎和框架可能会利用它们来帮助您导航。让它“空”是一种拥有它们而不做任何事情的方式。

来自:

散列标记#引入的片段标识符是文档URL的可选最后一部分。它通常用于标识该文档的一部分。RFC 3986中规定了通用语法。URI中的哈希标记分隔符不属于片段标识符

#字符用于向浏览器发出信号,使视图位于特定命名元素的中心

因此,指向的链接将以id为“我的内容”的元素为中心

许多引人注目的javascript库都会在uri字符串的末尾插入类似javascript链接的链接,因此您的神秘感就出现在uri字符串的末尾。请注意,#之后的任何内容都不会通过GET参数传递给服务器

在#之后的URL部分(包括和)是片段标识符。它与URL的其余部分不同。要记住的关键是“仅客户端”(当然,客户端可以选择将其发送到服务器…只是不能作为片段标识符):

片段标识符的功能不同于URI的其余部分:即,其处理完全是客户端的,没有服务器的参与——当然,服务器通常帮助确定MIME类型,MIME类型确定片段的处理。当代理(如Web浏览器)从Web服务器请求资源时,代理将URI发送到服务器,但不发送片段。相反,代理会等待服务器发送资源,然后代理会根据文档类型和片段值处理资源。

将快速强制浏览器向上/向下滚动用户到该页面上的HTML内容部分,ID属性等于符号后面的ID属性

如果我在页面的某个地方有一个ID为“a”的

将我的浏览器指向
http://www.abc.com/#A
将带我去那个部门


维基百科就是一个很好的例子。wiki页面上的部分通常是div,菜单上有带有
#

的URL,这在URL中用于指示片段标识符(HTML中的书签/锚定)的起始位置

我希望这有助于: