什么是Hijax?Hijax的原理及优缺点介绍
2013-08-24 11:13
267 查看
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
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
相关文章推荐
- 第一部份1:JMF基础原理与相关术语介绍 。。。。快速了解JMF有什么相关内容
- 什么是Ajax?Ajax的原理是什么?Ajax的核心技术是什么?Ajax的优缺点是什么?
- arp欺骗的原理介绍与什么是ARP和防范ARP欺骗第1/3页
- 什么是ajax,ajax原理是什么 ,优缺点是什么
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- 事件委托(事件代理)的原理以及优缺点是什么?
- JFinal的架构介绍,JFinal实现极速开发的原理是什么?又是如何实现的?
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- javascript模块化是什么及其优缺点介绍
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- css sprite原理优缺点及使用示例介绍
- javascript模块化是什么及其优缺点介绍
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- java中几种Map在什么情况下使用,并简单介绍原因及原理
- javascript模块化是什么及其优缺点介绍
- 四种主流复制技术介绍,复制原理,优缺点分析
- AJAX工作原理及其优缺点 1.什么是AJAX? AJAX全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种创建交互式网页应用的网页
- Java 什么是注解及注解原理详细介绍