我一直在研究利用HTML5的历史api aka psuhState以及HTML4浏览器的适当后备的最佳方式。
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
有什么想法吗?
答案 0 :(得分:15)
GitHub使用http://pjax.heroku.com/
对于不支持pushState的浏览器,它只会降级为正常的旧无聊的整页加载行为。
答案 1 :(得分:7)
Responsive web design from the future是来自GitHub工作的设计师Kyle Neath的96幻灯片演示,可能对您有所帮助。
pushState的。 replaceState。 Hashbangs。 AJAX。 PJAX。甜菜。熊。 太空堡垒卡拉狄加。
响应式网页设计远远超过你的网站大小 屏幕。这个讲座是关于GitHub如何处理链接,网址 栏,部分页面更新,并解释了为什么我认为HTML5历史 API是前端开发中最重要的事情 自从Firebug。