前端兼容性讨论

这里和朋侪们简朴讨论一下个人关于前端兼容性的一些明白:

在项目中,前端重要处置惩罚html,css,javaScript代码,固然另有能够接触到razor等衬着引擎方面的学问,不过重要处置惩罚的照样HTML、CSS、JavaScript。个人认为兼容性的题目也是对这三个方面举行处置惩罚。

起首,是html方面兼容性的处置惩罚,人人都晓得,虽然有一个W3c范例的存在去范例html、xml/xhtml/css/javaScript/dom的范例,然则这只是个范例,真正体现出结果的是浏览器,而浏览器却有很多种,firefox/chrome/ie等等,每一个浏览器又有差别的版本,差别浏览器差别版本因为浏览器自身衬着引擎的差别,在关于w3c范例的支撑版本差别作育了一大堆的兼用性题目。关于html的兼容性题目,这里只讲两个处置惩罚计划:

1、运用款式重置css文件处理雷同html标签在差别浏览器或许雷同浏览器差别版本上衬着差别的兼容性题目。(个人引荐normalize.css),固然这只供参考,款式重置要顺应地点的项目作风,公司的开辟范例请求等举行定制,所以要看详细请求,不过大抵的重置款式都差不多,不过就是对padding,margin、字体属性等一些举行重置,详细人人能够去normalize.css检察内里的css款式。

2、在网页的顶部加上 doctype (文档范例)标签声明。这里触及一个盒子模子的题目,人人晓得,ie是特立独行的,在盒子模子上,ie的处置惩罚也差别,在ie中标签的width,height属性是包含padding和border的。当没有加上doctype时,每一个浏览器都根据它自己的体式格局来衬着标签,这就会形成兼用性题目,而加上以后,浏览器会根据w3c范例盒子模子衬着标签。

再者是css兼用性题目,reset重置款式只处理了一些比较简朴的款式题目,而类似于双边距、最小高度等题目,还须要开辟者在各自的项目中举行对应的处置惩罚,这里照样总结的比较周全的,有兴致朋侪能够看一下(https://zhuanlan.zhihu.com/p/…)。

末了,就是JavaScript的兼容性题目,因为浏览器的生长及引擎差别,浏览器所自带的api也会差别,这就引起了JavaScript的兼用性题目,在援用对象属性或许要领时须要举行客户端检测,就是检测当前浏览器所处体系、所支撑的语法、所具有的特别机能。包含才能检测、怪癖检测和用户代办检测三种,个人比较推重才能检测:

才能检测的目标不是辨认特定的浏览器,而是辨认浏览器的才能。运用这类体式格局无需顾及浏览器怎样怎样,只需肯定浏览器是不是支撑特定的才能,就能够给出相干的计划。才能检测须要注重两点:

1、先检测杀青目标的最经常使用的特征,能够保证代码最优化,并防止检测多个前提;
2、必需测试现实如果用到的特征;

这些就是小可对兼容性的明白,有不对的愿望各位朋侪斧正讨论,嘻嘻~

    原文作者:黄汝聪
    原文地址: https://segmentfault.com/a/1190000010443297
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞