请问有时候url最后有时候是#标志,请问这个字符有什么用吗?
比方说像这样的url http://segmentfault.com/ask/101# 最后有一个#字符,是有什么用处吗?
ruby web django php ruby-on-rails
Answers
这问题不问在101里吗?
#
字符后边的内容,是指定让浏览器翻动到网页中的某个锚点标记,所指定的位置。这个位置,是在HTML标签
<a>
中定义的。
例如:很多网页有简易(非js)的“跳到正文 Skip to content”功能,做法就是在需要跳到的位置,这里是正文最顶端,加上
<a name="articlestart" />
。
之后,如果在文章内部做链接就是
<a href="#articlestart">
,点击后就会跳到正文开头。外部链接就是
http://example.com/a.htm#articlestart
,网页加载后就会跳到正文开头。
如果
<a>
的href属性是
#
开头的,那么点击链接后浏览器不会刷新跳转。但如果不给
<a>
赋href属性,则链接指上去没有手型箭头。所以有时也只用一个
#
,来做
<a>
标签链接的占位,达到链接只点击不跳转,而用javascript进一步处理的目的。这样的占位符也可能是
javascript:void(0);
一类的。
注意:
#+锚点标签
这部分内容,必须放在URL最后边,且不是HTTP Request的一部分,不会被发送到服务器端。例如
http://example.com/1.php?a=1&b=2#anchor1
,对服务器而言与
http://example.com/1.php?a=1&b=2
没有任何区别。