检测< = IE10的最佳方法

时间:2013-06-12 21:39:31

标签: jquery css internet-explorer detection

检测IE的最新方法是什么?

  • 条件评论不要 IE9 ,IE10
  • modernizr特征检测在这里没有用,因为原因是外部的(我要嵌入的地图框图中的IE bug)
  • jQuery + migrate插件:如果这有帮助,基本步骤是什么?
是的,我对此很陌生。干杯!

2 个答案:

答案 0 :(得分:18)

使用IE6-9的条件注释和IE10的一些自定义功能。例如: HTML:

<!--[if lt IE 7 ]> <html class="ie6 ie"> <![endif]-->
<!--[if IE 7 ]>    <html class="ie7 ie"> <![endif]-->
<!--[if IE 8 ]>    <html class="ie8 ie"> <![endif]-->
<!--[if IE 9 ]>    <html class="ie9 ie"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html class=""> <!--<![endif]-->

JS:

if ($('html').hasClass('ie') || (Function('/*@cc_on return document.documentMode===10@*/')())){
    isIE = true;
}else{
    isIE = false;
}

或者你可以使用:

if (Function('/*@cc_on return document.documentMode===10@*/')()){
    document.documentElement.className+=' ie';
}
// Then..
if($('html').hasClass('ie')){...} // to check for IE10 and below.

其他答案专注于专门检测IE10,但我认为在一个地方显示完整的检测代码会有所帮助。

答案 1 :(得分:3)

    <!-- IE10 -->
    <script>
    if(navigator.userAgent.match(/MSIE 10/)){

        var headID = document.getElementsByTagName("head")[0];   
        var newLink = document.createElement('link');

        newLink.rel = 'stylesheet';
        newLink.type = 'text/css';
        newLink.href = 'css/ie10.css';

        headID.appendChild(newLink);
    } else {
       /* do something for other versions */
    }
    </script>