判斷瀏覽器是否IE10

項目中作打印預覽時,在IE10中出現兼容性問題,須要針對IE10作特殊處理。
在網上搜了一下,有三種方法能夠實現

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

    文章中說該方法可行,但我在IE8中試了也一樣返回true


2、@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」爲最新版本
 3、@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
相關文章
相關標籤/搜索