判断浏览器是否IE10

项目中做打印预览时,在IE10中出现兼容性问题,需要针对IE10做特殊处理。
在网上搜了一下,有三种方法可以实现

一、特性检测:@cc_on
  <!--[if !IE]><!--><script>
  if (/*@cc_on!@*/false) {
    document.documentElement.className+=' ie10';
  }
  </script><!--<![endif]-->

    文章中说该方法可行,但我在IE8中试了也同样返回true


二、@media -ms-high-contrast 方法
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
   /* IE10-specific styles go here */
 }


//由于是在js中使用,所以改动一下
function isIE10(){
  var flag = false;
  try{
    if(window.matchMedia("screen and (-ms-high-contrast: active), (-ms-high-contrast: none)").matches){
      flag = true;
    }
  }catch(e){ }

  return flag;
}
实际使用的该方法解决有一个问题,如果IE10的文档模式设置为IE10以下,同样也会和其它版本的IE得到一样的"false"结果。
这个时候使用<META http-equiv="X-UA-Compatible" content="IE=edge" />显示定义IE的文档模式“edge”为最新版本

三、@media 0 方法
这个方法不是太完美,因为IE9和预览版的IE11也支持media和\0的hack。
@media screen and (min-width:0\0) { 
/* IE9 , IE10 ,IE11 rule sets go here */
}

该方法没有试过

参考文章:http://www.css88.com/archives/5273

 

转载于:https://www.cnblogs.com/load/p/3295804.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值