美文网首页
IE浏览器兼容性问题总结

IE浏览器兼容性问题总结

作者: 大脸猫的前端之路 | 来源:发表于2020-06-08 21:34 被阅读0次

在项目开发过程中,有没有遇到需要兼容IE浏览器的头疼需求,虽然IE浏览器已被淘汰出主流浏览器,但部分公司或业务会需要,很不幸的是,这次项目开发涉及IE浏览器的兼容性。如果你们也有遇到同样的问题,希望我的笔记可以帮助你们少走一些坑。

项目是基于Vue2 + iview UI +ES6等搭建,所以下面的兼容性问题大多是iview组件库未适配的问题。
IE兼容问题不该是某个文件的CSS问题,而是整个项目文件,所以先判断当前浏览器是否为IE,给body元素添加特殊class

this.isIE = navigator.userAgent.indexOf('Trident') > -1 || false;
let Dom = document.querySelector("body");
if (this.isIE) {
  Dom.className +=  ' isIE';
} 

注意isIE前面有空格,以防body元素上有class属性

下面是项目过程中遇到的一些IE兼容性问题总结(问题仅限IE浏览器,Chrome中无下列问题)

1、 Modal框弹出位置不居中,显示在浏览器右下角位置

原因: ivu-modal定位问题导致

reason.png

解决方法:在head中添加style标签,使用CSS的transform属性,使得ivu-modal绝对居中

<style lang="scss>
.isIE {
  .ivu-modal-wrap > .ivu-modal {
      position: fixed !important;
      left: 50% !important;
      top: 50% !important;
      right: auto !important;
      transform: translate(-50%, -50%);
  }
}
</style>

2、Modal弹出框, ivu-modal-body内容为table(数据为异步请求结果)时,表格高度无法撑开

原因:DOM初始渲染时,modal-body无内容,初始高度即为ivu-model-body 的默认高度即32px,是padding:16px撑开的高度;

解决方法:外层添加div,设置高度;或给table设置高度

3、tooltip文字提示偏移位置

原因:ivu-tooltip-popper内联样式是相对浏览器窗口定位,所以会偏移

image.png

解决方法:强制修改ivu-tooltip-popper为绝对定位absolute。

<style lang="scss">
.isIE {
  .ivu-tooltip {
    .ivu-tooltip-popper {
        position: absolute !important;
    }
  }
}
</style>

4、IE模式下,树形控件tree无法撑开外层高度

场景:当设置display:flex且flex-direction:column时,IE浏览器中,子元素无法通过自身内容撑开一个高度,达到最大高度后实现滚动。目前原因还未可知,但可通过下列方式达到想要的效果。

image.png

解决方法:强制修改droptree-dropdown-menu属性display为block;

<style lang="scss">
.isIE {
  .droptree-dropdown-menu{
    display: block !important;
  }
}
</style>

5、IE浏览器下,当设置不可选择日期为20200528至当前时间的昨天,可设置代码如下所示:

optionsDate: {
   disabledDate (date) {
      var yesterday = new Date();
      yesterday.setDate(yesterday.getDate() - 1);
      var time= new Date('2020-05-28 00:00:00');    // 此处日期格式有误,应使用yyyy/MM/dd mm:hh:ss      
      return date.valueOf() > yesterday || date.valueOf() < time;;
   }
}

会发现小于20200528不可选日期未生效,控制台打印date报Invilid Date错误

解决方法:使用此格式 new Date('yyyy/MM/dd hh:mm:ss')创建日期即可。

相关文章

  • 浏览器兼容性问题-常见问题总结汇总

    浏览器兼容性问题解决方案 · 总结 一、IE 属性过滤器(较为常用的hack方法) 针对不同的 IE 浏览器,可以...

  • ajax

    解决浏览器兼容性问题 if (window.XMLHttpRequest){ // IE7+, Firefox, ...

  • ie11 解决vue项目兼容性问题

    最近项目尾声,需要做一些兼容性问题处理。其中最重要的自然是ie浏览器的兼容性问题了,于是便开始了网上查找兼容ie1...

  • day26 js基础2

    微软(ie)兼容性问题。js、html、css浏览器翻译浏览器分为高级、低级浏览器高级:火狐、谷歌、ie8以后低级...

  • ie8兼容问题

    最近公司要新开一个项目了,要兼容ie8的浏览器,兼容性问题真的是一个大大的问题,不断的总结一些ie8在兼容性上样式...

  • 4个技巧避免不必要的浏览器兼容性问题

    浏览器兼容性问题着实让人头疼,从最初的IE6浏览器到现在HTML5+CSS3的兴起,依然会存在兼容性问题,这里分享...

  • 主流浏览器发展史及其内核初探

    当我们在新时代调侃 IE 浏览器兼容性问题的时候,或多或少忘记了 IE 浏览器是第一款支持 CSS 的商用浏览器;...

  • web前端笔记

    ##Javascript 多浏览器兼容性问题及解决方案 1 自定义属性问题 问题说明:IE下,可以使用获取常规属性...

  • JS的学习-getElementById和网页换肤效果

    JS兼容性问题 在使用IE浏览器的状况下,直接使用ID存在问题: 引入doucment.getElementByi...

  • IE浏览器兼容性问题总结

    在项目开发过程中,有没有遇到需要兼容IE浏览器的头疼需求,虽然IE浏览器已被淘汰出主流浏览器,但部分公司或业务会需...

网友评论

      本文标题:IE浏览器兼容性问题总结

      本文链接:https://www.haomeiwen.com/subject/qdawzhtx.html