html5兼容性问题的解决

作为html5开发人员常常面临兼容性和新功能之间的抉择,为了解决这一问题,我们会采取不同的方案,按照问题解决的递进关系可以分为3步(避免问题和解决问题):1,了解主流浏览器对于制定html5功能的支持情况,如果能够得到期望的浏览器的支持,那么可以使用,否则不实用。在了解浏览器的支持情况后,还需要浏览器的装机情况,这样可以进一步了解目标用户对于新功能是否有足够的支持;2,针对一台具体的用户电脑浏览器查询特定的功能时候能够被支持(所谓诊断),可以使用modernizr技术来解决;3mo d针对诊断结果采取解决方案,可以使用腻子脚本来解决(所谓医治)。

1,了解浏览器的支持情况和浏览器在用户中的使用情况

可以通过专门的统计网站caniuse来了解这些情况,

caniuse查询首页

简单说明一下它的使用。上图(caniuse首页截图)是网站内容,在绿框中输入你所需要的html5新功能名字,即可查询对应的使用情况。

caniuse查询结果

在查询结果中可以看到各个主流浏览器的不同版本对于这个功能支持情况。值得注意的是国内一些浏览器大多是盒子浏览器,采用别人的浏览器内核。如QQ浏览器采用的IE内核(支持情况取决于你电脑上安装的IE版本),360浏览器采用的是chrome+IE浏览器双核,百度浏览器同样是双核。具体版本可以通过到官网上进行查询。这些浏览器会基于内核进行优化,所以不能简单根据内核版本判断支持情况,但内核版本可以作为充要条件。

2,通过modernizr进行浏览器功能检测

通过modernizr可以判断某一功能是否能够被当前浏览器支持,modernizr是一个可以插入到你的网页里面的js文件,通过调用内部的函数可以完成对当前浏览器的某一功能的检验。使用方法如下:

1,下载modernizr的js文件。2,将文件放入到你的网页所在的文件夹内。3,在你的网页的head标签中加入对这个js文件的使用。4,编写脚本执行检测功能,并将结果输出到页面中去。

3,通过腻子脚本来解决兼容性的问题。

我们已经可以通过modernizr来判断某一功能能否被当前浏览器所支持。但是这一结果不能帮助浏览器进行正确的现实为了解决这一问题,我们可以通过腻子脚本的方式来解决。针对不同html功能会有腻子脚本来解决,然而腻子脚本的的品质确不一能保证。这是腻子脚本的集合

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 转自博客园 原文 一、简单介绍一下什么是浏览器内核。浏览器最重要或者说核心的部分是“Rendering En...
    吴晗君阅读 3,662评论 1 30
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,841评论 18 139
  • 关于这份调研报告,不是从技术角度深入探索,重点是从产品本身分析,通俗易懂才是重点。主要是为了锻炼平时做技术调研和竞...
    石先阅读 23,561评论 13 48
  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,786评论 1 92
  • 昨天是我们孩子在幼儿园上学的最后一天。下午去接孩子时,看到老师们忙碌的身影,老师让大家拿好东西,让孩子们最后一次在...
    颠儒痴阅读 215评论 1 0