一行IE特定的javascript

时间:2011-12-20 19:57:13

标签: javascript internet-explorer

有没有办法只有一行IE特定的javascript。

<script>
    <!--[if gte IE 7]><!-->SOME IE JS<![endif]-->
    <!--[else]><!-->NORMAL JS<![endif]-->
</script>

4 个答案:

答案 0 :(得分:6)

选项1

与原始问题中的代码类似,但条件位于正确的位置 - 在脚本块之外:

<!--[if lt IE 7]>
    <script type="text/javascript">
        //Your one line of code
    </script>
<![endif]-->

<script type="text/javascript">
    //All other script
</script>

选项2

使用浏览器检测功能检查浏览器和版本。我推荐http://www.quirksmode.org/js/detect.html。如果您使用链接中找到的.js文件,则可以这样:

<script type="text/javascript">
    if(BrowserDetect.browser == "Explorer" && BrowserDetect.version == 7) {
        //IE 7
    }
    else {
        //All others
    }
</script>

答案 1 :(得分:5)

您可以在&lt;! - [if ...中定义一个全局变量,然后稍后再检查。

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

...

if (old_ie)
    //whatever you need to do

答案 2 :(得分:0)

查看"conditional compilation"

/*@cc_on @*/
/*@if (@_jscript_version >= 1)
   alert("Hello from Internet Explorer!");
   /*@else @*/
   alert("Not Internet Explorer! Yaay!");
/*@end @*/

“if”部分之后的代码看起来像是对IE以外的所有浏览器的评论。

答案 3 :(得分:0)

试试这个:

<!--[if IE ]><script>alert('ok')</script> <![endif]-->