V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Dive into HTML5
http://diveintohtml5.org/
delphiqin
V2EX  ›  HTML

[提问]Github切换目录时改变了浏览器地址栏但没刷新页面,如何做到的?

  •  
  •   delphiqin ·
    DelphiQin · 2012-02-17 23:59:34 +08:00 · 6422 次点击
    这是一个创建于 4661 天前的主题,其中的信息可能已经有所发展或是发生改变。
    刚才在Github上翻东西的时候,发现查看项目文件目录的效果很cool,然后,更惊奇的发现,在切换目录的时候地址栏是跟着变的,但页面并没有刷新。
    我所知道的改变地址栏但不刷新页面的方法就是改变URL地址的锚(window.location.hash),但Github不是这样做的,他们没有使用锚,所以我很想知道,他们这是如何做到的?
    5 条回复    1970-01-01 08:00:00 +08:00
    airyland
        1
    airyland  
       2012-02-18 00:04:13 +08:00 via Android
    html5 history api
    delphiqin
        2
    delphiqin  
    OP
       2012-02-18 00:48:52 +08:00
    @airyland 确实如此,兄台真是一针见血啊,感谢!

    下边是我找到的一些文章,分享给和我一样有此疑问的朋友吧:
    HTML5 history API介绍:
    http://www.keakon.net/2011/04/04/HTML5%20history%20API%E4%BB%8B%E7%BB%8D

    Manipulating the browser history:
    https://developer.mozilla.org/en/DOM/Manipulating_the_browser_history

    Session history and navigation:
    http://dev.w3.org/html5/spec-author-view/history.html

    window.onpopstate:
    https://developer.mozilla.org/en/DOM/window.onpopstate
    disinfeqt
        3
    disinfeqt  
       2012-02-18 03:17:30 +08:00 via iPhone
    paloalto
        4
    paloalto  
       2012-02-18 03:23:32 +08:00
    以前和同事讨论过这个问题,我幼稚地以为用了AJAX,泪。。。。
    disinfeqt
        5
    disinfeqt  
       2012-03-09 12:04:42 +08:00
    @paloalto 一点都不幼稚,就是 ajax,外加 pushState 而已。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:11 · PVG 01:11 · LAX 09:11 · JFK 12:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.