V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
n2n3
V2EX  ›  问与答

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

  •  
  •   n2n3 · 2011-04-28 13:23:31 +08:00 · 4820 次点击
    这是一个创建于 4956 天前的主题,其中的信息可能已经有所发展或是发生改变。
    8 条回复    1970-01-01 08:00:00 +08:00
    fim8
        1
    fim8  
       2011-04-28 15:46:06 +08:00
    我更想知道链接中加入#,到底是什么样的技术实现的。
    reorx
        2
    reorx  
       2011-04-28 16:32:08 +08:00
    @fim8 这是个纯ajax网站,有关url hash的解释,可以参阅这篇文章:http://www.ruanyifeng.com/blog/2011/03/url_hash.html
    aligo
        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法还是可以用别的对象保存)
    fim8
        4
    fim8  
       2011-04-28 21:47:58 +08:00
    @reorx 好的,谢谢!
    apoclast
        5
    apoclast  
       2011-04-29 01:53:58 +08:00
    @aligo 真详细
    lychee
        6
    lychee  
       2011-04-29 07:56:18 +08:00
    @aligo 实际上不是和ID对应 尽管都有# 它是和拥有name属性的a标签对应的
    例如 <a name="top">Top</a>
    最早的应用场景应该是在一个很长的网页中 使用锚点制作目录 方便的跳转到不同章节
    aligo
        7
    aligo  
       2011-04-29 08:07:47 +08:00
    @lychee 恩,确实可以用带name属性的a标签对应

    不过一般用法还是直接和id对应,另外id和name共享的是一个命名空间,如果你用了一个top的name,那么就不能用为top的id了
    lychee
        8
    lychee  
       2011-04-29 08:16:35 +08:00
    @aligo = = 小白了。。应该看2楼的连接的 之前看过的资料对id属性完全没提及。。
    http://www.w3.org/TR/html40/struct/links.html
    在这里确认了 id也可以作为锚点
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3012 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 14:16 · PVG 22:16 · LAX 06:16 · JFK 09:16
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.