首页 > 编程知识 正文

前端兼容性问题面试题,前端浏览器兼容性面试题

时间:2023-05-04 09:50:49 阅读:196133 作者:3096

前端面试——浏览器兼容问题 一、css样式兼容性问题二、js语法三、dom标签表现形式四、其他

一、css样式兼容性问题 ie8浏览器不支持css3,像:









ie8对选择器支持情况
ie8支持:first-child,但不支持:last-child、:last-of-type、:first-of-type、:nth-child(n)、:nth-last-child(n)、:nth-of-type(n)、:nth-last-of-type(n)、:enable、:disable 、:checked
ie8对before伪类不支持,引入兼容库js后,定位仍会出现问题,须修改边距值css hack
“-″减号是IE6专有的hack
“9″ IE6/IE7/IE8/IE9/IE10都生效
“″ IE8/IE9/IE10都生效,是IE8/9/10的hack
“9″ 只对IE9/IE10生效,是IE9/10的hack
ie8也不支持flex布局,须改成其它布局; 二、js语法 添加dom监听事件
.addEventListener = function (type,listener,useCapture ) { };
//第一个参数 事件名称
//第二个参数 事件处理函数(监听者)
//第三个参数 true捕获 false冒泡
//IE9以后才支持
// 兼容旧环境IE8的数组对象没有forEach方法,晕。所以自行声明即可。. 数组的indexOf()方法在IE8中的兼容性问题ie8浏览器不支持endsWith,trim(),startsWith等方法,在使用中就会遇见兼容性问题array.filter(); 参考文件ie8 的数组没有map方法 三、dom标签表现形式 dom默认自定义样式dom定义样式video标签兼容
解决方法:在ie八浏览器下引入html5media.min.js 需要注意的是 把 三个文件放在同一文件夹下面. video 的width和height不要用百分比尽量用具体的像素(本人在ie8下面宽度用100%,html5media.min.js要报错)。
input标签: 四、其他

DOCTYPE告诉浏览器使用什么样的HTML或XHTML规范来解析HTML文档"
具体会影响:
对标记、attributes 、properties的约束规则
对浏览器的渲染模式产生影响,不同的渲染模式会影响到浏览器对于CSS 代码甚至 JavaScript 脚本的解析

设置浏览器渲染内核
IE=edge表示强制使用IE最新内核,chrome=1表示如果安装了针对IE6/7/8等版本的浏览器插件Google Chrome Frame,那么就用Chrome内核来渲染。

HTML5的新标签(nav/footer等)IE中这些标签可能无法正常显示
参考文章

ie8不兼容SVG图形、Canvas,兼容方案:优雅降级。

CSS3字体单位“rem”兼容方案:rem.js
CSS3引入了新的字体大小单位rem,与em的“相对于其父元素来设置字体大小”的功能不同,rem是相对于根元素的字体大小比率单位,成了目前主流的单位之一。IE9+开始支持,IE8就只能通过引入js库来支持了。
使用方法:在页面中引用rem.js文件。需要引用在页脚,也就是末尾,在所有css文件引用和DOM元素之后。
参考文章

使用jQuery2.0以下的版本推荐使用1.8.3

js书写时注意分号的书写,chrome,firefox等高级浏览器会自动识别分号,ie在低版本情况下只会报错,如果没注意1,使用了jQuery2.x以上的版本,jQuery内部也会报分号而引起的错误

ie注释

<!--[if IE 8]><script type="text/javascript" src="<%=path%>/js/jquery-1.9.1.min.js"></script><![endif]-->

。。。后续持续更新

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。