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

2012-02-17 23:59:34 +08:00
 delphiqin
刚才在Github上翻东西的时候,发现查看项目文件目录的效果很cool,然后,更惊奇的发现,在切换目录的时候地址栏是跟着变的,但页面并没有刷新。
我所知道的改变地址栏但不刷新页面的方法就是改变URL地址的锚(window.location.hash),但Github不是这样做的,他们没有使用锚,所以我很想知道,他们这是如何做到的?
6411 次点击
所在节点    HTML
5 条回复
airyland
2012-02-18 00:04:13 +08:00
html5 history api
delphiqin
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
2012-02-18 03:17:30 +08:00
paloalto
2012-02-18 03:23:32 +08:00
以前和同事讨论过这个问题,我幼稚地以为用了AJAX,泪。。。。
disinfeqt
2012-03-09 12:04:42 +08:00
@paloalto 一点都不幼稚,就是 ajax,外加 pushState 而已。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/27612

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX