请问有时候url最后有时候是#标志,请问这个字符有什么用吗?


比方说像这样的url http://segmentfault.com/ask/101# 最后有一个#字符,是有什么用处吗?

ruby web django php ruby-on-rails

マックス様 10 years, 5 months ago

这问题不问在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 没有任何区别。

H一GOD answered 10 years, 5 months ago

Your Answer