您的位置:首页 > 其它

什么是Hijax?Hijax的原理及优缺点介绍

2013-08-24 11:13 218 查看
Hijax,即渐进增强的Ajax,也被称为“简化的Ajax”,也是
hijack(劫持)的意思,也可直接理解成保存和操纵
历史的Ajax,Hijax是由Jeremy Keith(杰里米基斯)提出来的。

http://domscripting.com/blog/display/41

主要原理:

传统Web的表单提交和链接方式都会重新刷新加载整个页面,这样会造成内容和资源的重复加载,对服务器造成压力和浪费。

Hijax的原理是“劫持”表单提交和URL链接,然后通过Ajax获取数据后局部更新DOM及内容,从而减少带宽消耗和服务器压力,避免页面刷新带来的闪烁感和重复感,改善用户浏览体验。如果客户端不支持JS或XMLHttpRequest,则表单和链接会按传统方式提交和跳转。

HTML5的History API能更好的实现这样的功能,且更新URL地址时页面不刷新,支持浏览器后退和前进按钮,这个时候你也可以直接理解成History+Ajax,Github无疑是Hijax的最佳范例了。

http://dev.w3.org/html5/spec-author-view/history.html

https://developer.mozilla.org/en-US/docs/Web/Guide/DOM/Manipulating_the_browser_history?redirectlocale=en-US&redirectslug=DOM%2FManipulating_the_browser_history

优点:

1、改善用户浏览体验,
避免页面刷新带来的闪烁感和重复感;
2、减少服务器压力和带宽浪费。

缺点:

似乎只有一点,对搜索引擎不友好,不过Google的爬虫会索引这样的URL格式,即由一个由井号和叹号构成的URL字符串(#!),称为Shebang(也称为Hashbang),我们在Shell和Python会经常看到这样的字符串,通过程序解析字符串并加载相应的模块或内容。不过HTML5的History API不需要这样的URL格式,直接使用传统URL格式就可以了。基于HTML5的History API的Hijax是更好的Hijax。

示例URL:http://www.example.com/#!/about/contact
了解Hashbang:http://zh.wikipedia.org/zh-cn/Shebang

Google建议使用PushState而非hashbang: http://seo.dns.com.tw/?p=9120
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: