1
fim8 2011-04-28 15:46:06 +08:00
我更想知道链接中加入#,到底是什么样的技术实现的。
|
2
reorx 2011-04-28 16:32:08 +08:00
@fim8 这是个纯ajax网站,有关url hash的解释,可以参阅这篇文章:http://www.ruanyifeng.com/blog/2011/03/url_hash.html
|
3
aligo 2011-04-28 16:40:51 +08:00 1
hash嘛,最早是用来和css选择器的id对应的,可以跳到页面的某个部分
后来因为ajax场合没法前进后退,所以用修改location.hash和hashchange事件的方法 但是最近因为浏览器支持的关系,所以大家都又开始用history.pushState和popstate事件了,好处有两点:可以继续保留对于hash的使用方法,然后state可以携带一个对象,如历史数据/html片段等,这样前进后退也就不需要再有http请求了(当然hash法还是可以用别的对象保存) |
6
lychee 2011-04-29 07:56:18 +08:00
@aligo 实际上不是和ID对应 尽管都有# 它是和拥有name属性的a标签对应的
例如 <a name="top">Top</a> 最早的应用场景应该是在一个很长的网页中 使用锚点制作目录 方便的跳转到不同章节 |
7
aligo 2011-04-29 08:07:47 +08:00
|
8
lychee 2011-04-29 08:16:35 +08:00
@aligo = = 小白了。。应该看2楼的连接的 之前看过的资料对id属性完全没提及。。
http://www.w3.org/TR/html40/struct/links.html 在这里确认了 id也可以作为锚点 |