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

前端之家收集整理的这篇文章主要介绍了什么是Hijax?Hijax的原理及优缺点介绍前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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

猜你在找的Ajax相关文章