前端面试——浏览器兼容问题

  • 一、css样式兼容性问题
  • 二、js语法
  • 三、dom标签表现形式
  • 四、其他

一、css样式兼容性问题

  1. ie8浏览器不支持css3,像:









  2. 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后,定位仍会出现问题,须修改边距值
  3. css hack
    “-″减号是IE6专有的hack
    “\9″ IE6/IE7/IE8/IE9/IE10都生效
    “\0″ IE8/IE9/IE10都生效,是IE8/9/10的hack
    “\9\0″ 只对IE9/IE10生效,是IE9/10的hack
    ie8也不支持flex布局,须改成其它布局;

二、js语法

  1. 添加dom监听事件
    .addEventListener = function (type,listener,useCapture ) { };
    //第一个参数 事件名称
    //第二个参数 事件处理函数(监听者)
    //第三个参数 true捕获 false冒泡
    //IE9以后才支持
    // 兼容旧环境
  2. IE8的数组对象没有forEach方法,晕。所以自行声明即可。
  3. . 数组的indexOf()方法在IE8中的兼容性问题
  4. ie8浏览器不支持endsWith,trim(),startsWith等方法,在使用中就会遇见兼容性问题
  5. array.filter(); 参考文件
  6. ie8 的数组没有map方法

三、dom标签表现形式

  1. dom默认自定义样式
  2. dom定义样式
  3. video标签兼容
    解决方法:在ie八浏览器下引入html5media.min.js 需要注意的是 把 三个文件放在同一文件夹下面. video 的width和height不要用百分比尽量用具体的像素(本人在ie8下面宽度用100%,html5media.min.js要报错)。
    input标签:

四、其他

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

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

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

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

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

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

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

  8. ie注释

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

。。。后续持续更新

前端面试——浏览器兼容问题相关推荐

  1. web前端面试--浏览器兼容性问题

    web前端面试 本人是一个web前端开发工程师,主要是vue框架,整理了一些面试题,今后也会一直更新,有好题目的同学欢迎评论区分享 ;-) web面试题专栏:点击此处 文章目录 web前端面试 前言 ...

  2. 前端面试 浏览器原理

    一.浏览器安全 1.  什么是 XSS 攻击? (1)概念 XSS 攻击指的是跨站脚本攻击,是一种代码注入攻击.攻击者通过在网站注入恶意脚本,使之在用户的浏览器上运行,从而盗取用户的信息如 cooki ...

  3. 前端面试-浏览器原理

    一.浏览器 什么是URL 组成部分: protocol:协议,表明浏览器必须使用何种协议 domain:域名,表示正在请求哪个服务器 port:端口 path:网络服务器上资源的路径 paramete ...

  4. 前端开发浏览器兼容测试工具Lunascape

    对于前端开发人员来说,浏览器是最头疼的问题了,要考虑各种类型各种版本的兼容,实际情况下写的时间可能远少于你在浏览器中测试问题... 看了不少博客和网站推荐的浏览器兼容测试工具,根据使用过的情况介绍下其 ...

  5. 前端主流浏览器兼容写法(css、js)以及主流框架vue,react的兼容性

    前言: 前端样式很重要,但是因为浏览器种类繁多,内核不同,会导致各种兼容问题.尤其ie,但好在微软对ie不在更新了. 常见浏览器: 常见的浏览器有:IE.Edge(替代了ie).Firefox.QQ浏 ...

  6. 前端开发浏览器兼容问题

    csshack 1 2 3 4 5 6 7 我很少使用hacker的,可能是个人习惯吧,我不喜欢写的代码IE不兼容,然后用hack来解决.不过hacker还是非常好用的.使用hacker我可以把浏览器 ...

  7. 前端面试——浏览器存储浏览器缓存(http缓存机制)

    浏览器存储 cookie和session的区别 cookie数据存放在浏览器上,session存放在服务器上 cookie一般在客户端有大小限制,一般为4K,session没有限制,但是考虑到服务器性 ...

  8. 前端面试超全整理1( js 浏览器安全 性能)

    1.JS 基础面试题(一) 原始(Primitive)类型 涉及面试题:原始类型有哪几种?null 是对象嘛? 在 JS 中,存在着 6 种原始值,分别是: boolean null undefine ...

  9. 前端面试知识点大全——浏览器篇

    总纲:前端面试知识点大全 目录 1.浏览器工作原理 2.浏览器如何解析css,如何渲染css的 2.1 构建DOM树 2.2 构建CSSOM规则树(就是css规则树) 2.3 渲染阻塞 2.4 构建渲 ...

最新文章

  1. js 对象的clone()函数
  2. monocle3包的安装
  3. java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
  4. OVS sflow(二十六)
  5. 浅谈CMMI几个过程概念流程管理 (转)
  6. visual c++ for .net(新语法)
  7. 场景/故事/story——寻物者发布消息场景、寻失主发布消息场景、消息展示场景、登录网站场景...
  8. 为什么自己设计的嵌入式系统不如工业级产品稳定?
  9. 多功能网址导航源码 包含交易系统等多功能
  10. 34.Silverlight中不得不了解使用的依赖属性
  11. ThreadLocal 解决多线程程序的并发问题+事务处理
  12. 关于XML序列化与CultureInfo
  13. VIVADO常见警告、错误及解决方法
  14. 小敏同学利用计算机设计,福建省晋江一中、华侨中学2015-2016学年七年级数学上学期期中质量检测试题(无答案) 华东师大版...
  15. IEC 60335-1家用电器的安全标准及安规寿命检测设备
  16. 天下数据服务器搭建网站,王者天下架设教程1-服务端配置.doc
  17. 如果在网上匿名15分钟
  18. GAEfan qiang教程
  19. 蜂窝网实现移动性管理?
  20. Unity Shader - 羽化效果

热门文章

  1. HTTPS SSL cer 转pem key操作
  2. 求一个超声波避障程序,谢谢
  3. textarea禁止拖拽设置
  4. 弱电工作5年,我是如何下定决心转行从事网络技术的
  5. 【BZOJ2713】[Violet 2]愚蠢的副官【数位DP】【质因数分解】【枚举】【记忆化搜索】
  6. AutoLisp从入门到放弃(十一)
  7. Java进阶知识笔记14--【junit、反射、注解】
  8. QT QTextEdit 失去焦点之后取消选中态
  9. iphone 方向旋转
  10. L10 生磁盘的使用