博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
什么是Hijax?Hijax的原理及优缺点介绍
阅读量:6703 次
发布时间:2019-06-25

本文共 763 字,大约阅读时间需要 2 分钟。

  hot3.png

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

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

Hijax的原理是“劫持”表单提交和URL链接,然后通过Ajax获取数据后局部更新DOM及内容,从而减少带宽消耗和服务器压力,避免页面刷新带来的闪烁感和重复感,改善用户浏览体验。如果客户端不支持JS或XMLHttpRequest,则表单和链接会按传统方式提交和跳转。
HTML5的History API能更好的实现这样的功能,且更新URL地址时页面不刷新,支持浏览器后退和前进按钮,这个时候你也可以直接理解成History+Ajax,无疑是Hijax的最佳范例了。

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

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

示例URL:

了解Hashbang:

Google建议使用PushState而非hashbang:

转载于:https://my.oschina.net/pandao/blog/156532

你可能感兴趣的文章
Node.js 6.0支持93%的ES2015语法
查看>>
Elixir 1.2带来多项功能增强和性能提升
查看>>
慎用!BLEU评价NLP文本输出质量存在严重问题
查看>>
避免标准数据模型
查看>>
【js】async和await使用
查看>>
如何定义性能需求
查看>>
管理之善,在于让员工有机会试错
查看>>
ASP.NET Core 2加入了Razor页面特性
查看>>
Idris趋近发布1.0版
查看>>
微服务之旅的经验分享
查看>>
访谈:关于持续敏捷交付与服务矩阵
查看>>
Dependabot:自动创建GitHub PR修复潜在漏洞
查看>>
ticketea如何从一体化转向多体化架构
查看>>
树莓派第三代跨越发展,采用64位处理器内建WiFi及蓝牙
查看>>
如何选取Linux容器镜像
查看>>
姜宁谈红帽绩效考核:不关心员工具体做什么
查看>>
微软推出VS Code新特性,为TypeScript和JavaScript用户提供AI辅助开发功能
查看>>
自己实现MVVM(Vue源码解析)
查看>>
从有到优:百度前端接入技术的升级之路
查看>>
实现TeX的算法:回首编程技术的过去三十年
查看>>