V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
delphiqin
V2EX  ›  HTML

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

  •  
  •   delphiqin ·
    DelphiQin · Feb 17, 2012 · 6999 views
    This topic created in 5188 days ago, the information mentioned may be changed or developed.
    刚才在Github上翻东西的时候,发现查看项目文件目录的效果很cool,然后,更惊奇的发现,在切换目录的时候地址栏是跟着变的,但页面并没有刷新。
    我所知道的改变地址栏但不刷新页面的方法就是改变URL地址的锚(window.location.hash),但Github不是这样做的,他们没有使用锚,所以我很想知道,他们这是如何做到的?
    5 replies    1970-01-01 08:00:00 +08:00
    airyland
        1
    airyland  
       Feb 18, 2012 via Android
    html5 history api
    delphiqin
        2
    delphiqin  
    OP
       Feb 18, 2012
    @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  
       Feb 18, 2012 via iPhone
    paloalto
        4
    paloalto  
       Feb 18, 2012
    以前和同事讨论过这个问题,我幼稚地以为用了AJAX,泪。。。。
    disinfeqt
        5
    disinfeqt  
       Mar 9, 2012
    @paloalto 一点都不幼稚,就是 ajax,外加 pushState 而已。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   787 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 22:18 · PVG 06:18 · LAX 15:18 · JFK 18:18
    ♥ Do have faith in what you're doing.