Sex*_*ast 5 javascript ajax facebook html5-history
我在Facebook上观察到这个功能,当你在右下角打开一个聊天框,然后你去另一个页面,比如你的朋友的个人资料,或Facebook内的一些照片收集页面时,聊天框不会重新加载,它保持原样(就像在背景页面顶部的单独层中一样).
很自然地,我认为Facebook本身没有重新加载页面,它正在使用history.pushstate和相关的函数异步加载内容,并动态更改URL(Firebug确认了,如果你点击你朋友的一个名字并被采取到你朋友的个人资料页面,它实际上是一个GET被解雇的请求).因此,由于没有任何页面加载,聊天框可以只是闲置,就像它一样.
但是,在版本10之前pushstate不支持IE.但是,它也可以正常工作IE9.所以有人能告诉我他们是怎么做到的吗?他们是在使用historyAPI 还是使用不同的东西?
小智 7
简单的答案就是一个很好的问题.我不确定Facebook,但这应该对你有所帮助 - History.js
History.js在所有浏览器中优雅地支持HTML5历史/状态API(pushState,replaceState,onPopState).包括对数据,标题,replaceState的持续支持.支持jQuery,MooTools和Prototype.对于HTML5浏览器,这意味着您可以直接修改URL,而无需再使用哈希.对于HTML4浏览器,它将恢复使用旧的onhashchange功能.
| 归档时间: |
|
| 查看次数: |
660 次 |
| 最近记录: |