在互联网发展的进程中,新的事物不断出现,新的事物通常伴随着新的规则、新的版本。
我们前端工作人员于之平凡打交道的浏览器,也一直在更新换代,我们学习前端基础知识的时候,经常会遇到一些关于 浏览器优化 方面的问题,这类问题通常会让我们相当头疼,也就是说,在我们写代码的时候,经常会遇到类似于在新版本浏览器能正常运行的代码,在老版本浏览器中却无法运行,或者是,新老版本的浏览器展现的效果会有些许差别,此时就需要我们针对不同版本的浏览器进行优化,使之达到相同的我们所期望的效果,而 渐进增强 与 优雅降级 就是浏览器优化方面的一套理论。
严格来说:
渐进增强:是针对低版本浏览器进行构建页面,保证最基本的功能,然后再针对高级浏览器进行效果、交互等改进和追加功能达到更好的用户体验。
优雅降级:是一开始就构建完整的功能,然后再针对低版本浏览器进行兼容。
通俗一点:
渐进增强顾名思义,是一个渐进的过程,就像上台阶,一点一点的提高要求,假设我要写一个网页,为了让新老版本的浏览器都能完美运行,我们先从老版本浏览器开始,先完成我的页面的最基本最必要的一些功能,因为老的版本浏览器,是很可能无法识别目前比较新的标签和代码块,也就无法展现出我们所期待的一些网页效果,我们需要放弃这些效果,或者替换成别的效果,完成我们的网页最基本的功能和最基本的样式,慢慢的,由老版本向新版本递增,浏览器所能展现的效果也会越来越多,像上阶梯一样,一点点的把我们想要效果加进去,最终在高版本浏览器中,展现出我们所有想展示的网页效果与功能,这就是网页开发过程中的浏览器优化的渐进增强。
而与之相反的优雅降级,对比之前的上台阶,这次我们换做下台阶,它和渐进增强对比则是一个完全相反的过程,简单来说就是,我们一开始先基于高版本浏览器进行开发,把我们所有的功能与效果都写好,然后我们下台阶,也就是向低版本优化,随着版本变低,网页部分功能与效果已无法实现,此时我们需要删掉或者用其他方式来替换这些功能与效果,就这样,向最低的版本进行优化,直到所有版本浏览器都能正常的显示我们的网页。
总结一下两者区别: