IE兼容常见问题及解决方案

一、IE8及以下不支持css3的@media查询

  解决方法1、解决方法是引入respond.js

  相关链接:https://www.bootcdn.cn/respond.js/

<script src="https://cdn.bootcss.com/respond.js/1.4.2/respond.js"></script>

  解决方法2、用if判断是否是IE浏览器,然后给IE8设定一组比较适合的样式,以此来替代@media

if (navigator.appName === 'Microsoft Internet Explorer') { //判断是否是IE浏览器
  if (navigator.userAgent.match(/Trident/i) && navigator.userAgent.match(/MSIE 8.0/i)) { //判断浏览器内核是否为Trident内核IE8.0
    $('#Zbody').css('top','19%')
        .css('height','57.5%'); 
    };

  }
}
if (window.ActiveXObject || "ActiveXObject" in window) {//判断是否IE9,10,11,edge
    alert("IE");
}

 

二、IE8及以下,不支持HTML5的视频功能

  解决方法:引入html5media.js

  相关链接:https://github.com/etianen/html5media

<script src="<%=JsUrl %>Template/<%=config.TemplateFolder%>/inc/html5media.min.js"></script>

三、IE不兼容ES6

  解决方法1:使用babel将es6转换为es5  相关链接:https://www.cnblogs.com/webwangjie/p/10948284.html

    解决方法2:引入browser.min.js  然后将需要转换的代码块的script标签的type值设为‘’text/label

  

 

四、高版本JQuery不兼容IE8及以下

  解决方法1:通过 <!--[if IE 8]> 仅IE8可识别 <![endif]--> 引入低版本JQuery

  <!--[if IE 8]> ... <![endif]-->放在html页面,仅在浏览器是IE8的时候可以识别并加载

  备注:IE9、IE7同理可用<!--[if IE 9]> ... <![endif]-->

  解决方法2:<script>/*@cc_on 内容 @*/</script>,可兼容IE10及以下的版本

  <script>/*@cc_on alert("只有IE10及以下会弹出"); @*/</script>

<script type="text/javascript" src="<%=path%>/js/jquery-3.1.1.min.js"></script>
<!--[if IE 8]>
<script type="text/javascript" src="<%=path%>/js/jquery-1.9.1.min.js"></script>
<![endif]-->
posted @ 2018-09-02 10:20  野望之风  阅读(579)  评论(0编辑  收藏  举报