2011-07-03 18 views
10

我一直在研究利用HTML5的历史api aka psuhState和适当的回退HTML4浏览器的最佳方式。Github如何推送无散列标签的状态?

Github上使用历史API的目录树浏览(下面的链接只是一个例子,而不是库github上使用):

https://github.com/browserstate/History.js/

我无法弄清楚什么是他们如何处理这个问题适用于HTML4浏览器(例如Firefox 3.5)的功能?

我已经看过,具体来说,history.js(链接上面)来处理这种事情。但它需要一个哈希#实现HTML4浏览器,我想避免。

如果您访问Github并使用HTML4浏览器浏览目录树,它看起来与HTML5浏览器(即url状态)完全相同。

如果我在FF3.5禁用JavaScript中,这在以前看起来像这样的URL:

https://github.com/browserstate/history.js/tree/master/tests

现在看起来是这样的:

https://github.com/browserstate/history.js/tree/a32e91aa1fe5909a29abb690a37f6c129e98068e/tests

有什么想法?

回答

15

GitHub上使用http://pjax.heroku.com/

对于不支持pushState的它只是降低到正常旧的无聊的全页面加载行为的浏览器。

+0

因此,对于这种回退行为,这是否意味着Github在物理上在服务器上创建这些目录?还是他们以某种方式在飞行中创建目录?我对他们如何操作后备技术感到困惑? – Yahreen

+0

本? ... – Tekkub

+0

他们在服务器上创建文件夹结构吗? – Yahreen

7

Responsive web design from the future是来自Kyle Neath的一个96幻灯片演示文稿,这是一位在GitHub工作的设计师,可能会对您有所帮助。

pushState。 replaceState。 Hashbangs。 AJAX。 PJAX。甜菜。熊。太空堡垒卡拉狄加。

响应式网页设计大约比您的 屏幕的尺寸大很多。这个讲座是关于GitHub如何处理链接,url的部分页面更新,以及解释为什么我认为HTML5历史记录 API是自Firebug以来前端开发 发生的最重要的事情。