检测IE7或更低的条件评论和javascript无法正常工作

Bad*_*ari 6 javascript internet-explorer

我正在尝试检查一个人是否正在使用版本低于8或其他任何东西的IE.

我使用条件注释来声明布尔值..

<!--[if lt IE 8]>
<script type="text/javascript">var badIE = true;</script>
<![endif]-->
Run Code Online (Sandbox Code Playgroud)

现在我在我的js文件中检查布尔值,如下所示:

if (badIE == true){
    alert('You have bad IE!');
} else {
    alert('Bueno!');
}
Run Code Online (Sandbox Code Playgroud)

如果我使用IE7或IE6,它会警告"你的IE浏览器坏了!".如果我使用其他任何东西,它应该警告"Bueno!",但事实并非如此.问题是什么?

Nea*_*eal 20

需要声明的badIE变量为假第一顺序为它工作,否则该代码的条件之外知道什么有关badIE

试试这个:

<script>
    var badIE = false;
</script>

<!--[if lt IE 8]>
<script type="text/javascript">badIE = true;</script>
<![endif]-->

<script>
if (badIE == true){
    alert('You have bad IE!');
} else {
    alert('Bueno!');
}
</script>
Run Code Online (Sandbox Code Playgroud)


ent*_*opo 5

不是直接的答案(Neal已经涵盖了您),但您可能也对以下内容感兴趣:http://code.google.com/p/ie7-js/

从页面:

IE7.js是一个JavaScript库,使Microsoft Internet Explorer的行为类似于符合标准的浏览器.它解决了许多HTML和CSS问题,并使透明PNG在IE5和IE6下正常工作.

虽然如果你使用的是jQuery,请记住它与这个库有很多相同的功能.