1

我遇到了一个场景,我需要在除 IE7 之外的所有浏览器中加载 JavaScript。任何帮助是极大的赞赏。我试过下面的代码:

<!--[if gt IE 7]>
<script type="text/javascript">
    //Some script XXX to execute
</script>
<![endif]-->
<!--[if (gt IE 9)|!(IE)]><!-->
<script type="text/javascript">    
    //Some script XXX to execute
</script>
<!--<![endif]-->
4

4 回答 4

1

我认为这也有效

<!--[if !(IE 7)]>
   // tag here
<![endif]-->

你也可以做一个组合

<![if !IE]>
   // script tag
<![endif]>

<!--[if (gte IE 8)&(lt IE 7)]>
   // script tag
<![endif]-->

请参阅此处的文档http://msdn.microsoft.com/en-us/library/ms537512%28v=vs.85%29.aspx

我不确定您是要加载整个文件还是仅加载几行脚本。如果只有几行 jquery 方式更容易

于 2013-07-16T17:28:43.800 回答
0

用于navigator.userAgent检查浏览器标识。 也见这里

于 2013-07-16T17:21:33.540 回答
0

尝试这个

if ( $.browser.msie == true &&  $.browser.version < 8) {
           //code for ie 7
        }
else
{
       document.write("<script src=\"test.js\">");
}
于 2013-07-16T17:25:12.073 回答
0

看起来您已经在使用条件注释的正确路线上

<!--[if !(IE 7)]>--><script>alert("I'm not IE7");</script><!--<![endif]-->

对于任何非 IE 浏览器,这变成

<!--[if !(IE 7)]>-->                     Comment
<script>alert("I'm not IE7");</script>   Element
<!--<![endif]-->                         Comment

对于任何 IE 浏览器,这变成

<!--[if !(IE 7)]>                        If not IE 7
-->                                      (continued) AND Comment
<script>alert("I'm not IE7");</script>   Element
<!--<![endif]-->                         Comment AND End if

从中,如果它是 IE 7,它会被剪掉。

<!--[if !(IE 7)]>                        If - not rendered
                                         SNIP
<![endif]-->                             End If

如果您不介意无效的 HTML,您可以减少它

<![if !(IE 7)]><script>alert("I'm not IE7");</script><![endif]>
于 2013-07-16T17:54:06.740 回答