这个页面下面那些链接是怎么回事呢?

2011-04-28 13:23:31 +08:00
 n2n3
http://www.i-mad.com/index.asp?go/#/news/all
4840 次点击
所在节点    问与答
8 条回复
fim8
2011-04-28 15:46:06 +08:00
我更想知道链接中加入#,到底是什么样的技术实现的。
reorx
2011-04-28 16:32:08 +08:00
@fim8 这是个纯ajax网站,有关url hash的解释,可以参阅这篇文章:http://www.ruanyifeng.com/blog/2011/03/url_hash.html
aligo
2011-04-28 16:40:51 +08:00
hash嘛,最早是用来和css选择器的id对应的,可以跳到页面的某个部分

后来因为ajax场合没法前进后退,所以用修改location.hash和hashchange事件的方法

但是最近因为浏览器支持的关系,所以大家都又开始用history.pushState和popstate事件了,好处有两点:可以继续保留对于hash的使用方法,然后state可以携带一个对象,如历史数据/html片段等,这样前进后退也就不需要再有http请求了(当然hash法还是可以用别的对象保存)
fim8
2011-04-28 21:47:58 +08:00
@reorx 好的,谢谢!
apoclast
2011-04-29 01:53:58 +08:00
@aligo 真详细
lychee
2011-04-29 07:56:18 +08:00
@aligo 实际上不是和ID对应 尽管都有# 它是和拥有name属性的a标签对应的
例如 <a name="top">Top</a>
最早的应用场景应该是在一个很长的网页中 使用锚点制作目录 方便的跳转到不同章节
aligo
2011-04-29 08:07:47 +08:00
@lychee 恩,确实可以用带name属性的a标签对应

不过一般用法还是直接和id对应,另外id和name共享的是一个命名空间,如果你用了一个top的name,那么就不能用为top的id了
lychee
2011-04-29 08:16:35 +08:00
@aligo = = 小白了。。应该看2楼的连接的 之前看过的资料对id属性完全没提及。。
http://www.w3.org/TR/html40/struct/links.html
在这里确认了 id也可以作为锚点

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/12262

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX