delphiqin
V2EX  ›  HTML

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

  •  
  •   delphiqin ·
    DelphiQin · Feb 17, 2012 · 7092 views
    This topic created in 5239 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   ·   6036 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 57ms · UTC 02:53 · PVG 10:53 · LAX 19:53 · JFK 22:53
    ♥ Do have faith in what you're doing.