判断IE浏览器        

时间:2021-09-29 14:39:55

如何让静态HTML代码根据不同IE版本显示不同内容,这里的技术就是利用IE的HTML注释表达式。
HTML的注释格式是 <!-- Comment content -->,IE对HTML注释做了一些扩展,使之可以支持条件判断表达式:
<!--[if expression]> 
    HTML 
<!--[else]>
    HTML2
<![endif]--> 
当表达式 expression 为 true的时候,显示 HTML 内容,否则显示 HTML2  内容
对于不支持该表达式的浏览器该段就会被当做注释忽略掉,因为该段的语法最开始的 "<!--" 和结尾的 "-->" 正是HTML注释的写法。

注意:加版本号进行判断时,IE和版本号之间要加空格

          只有IE5-IE9的版本支持这种注释扩展,IE5以下、IE10及以上都不支持。


<!--[if !IE]> 除IE外都可识别 <![endif]-->
<!--[if IE]> 所有的IE可识别 <![endif]-->
<!--[if IE 6]> 仅IE6可识别 <![endif]-->
<!--[if lt IE 6]> IE6以下版本可识别 <![endif]-->
<!--[if gte IE 6]> IE6以及IE6以上版本可识别 <![endif]-->
<!--[if IE 7]> 仅IE7可识别 <![endif]-->
<!--[if lt IE 7]> IE7以下版本可识别 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可识别 <![endif]-->
<!--[if IE 8]> 仅IE8可识别 <![endif]-->
<!--[if IE 9]> 仅IE9可识别 <![endif]-->


和编程语言类似,这里的表达式还支持大于(gt)、小于(lt)、与或非等操作符。

项目 范例 说明
! [if !IE] The NOT operator. This is placed immediately in front of the featureoperator, or subexpression to reverse the Boolean meaning of the expression.
NOT运算符。这是摆立即在前面的功能操作员,或子表达式扭转布尔表达式的意义。
lt [if lt IE 5.5] The less-than operator. Returns true if the first argument is less than the second argument.
小于运算符。如果第一个参数小于第二个参数,则返回true。
lte [if lte IE 6] The less-than or equal operator. Returns true if the first argument is less than or equal to the second argument.
小于或等于运算。如果第一个参数是小于或等于第二个参数,则返回true。
gt [if gt IE 5] The greater-than operator. Returns true if the first argument is greater than the second argument.
大于运算符。如果第一个参数大于第二个参数,则返回true。
gte [if gte IE 7] The greater-than or equal operator. Returns true if the first argument is greater than or equal to the second argument.
大于或等于运算。如果第一个参数是大于或等于第二个参数,则返回true。
( ) [if !(IE 7)] Subexpression operators. Used in conjunction with boolean operators to create more complex expressions.
子表达式运营商。在与布尔运算符用于创建更复杂的表达式。
& [if (gt IE 5)&(lt IE 7)] The AND operator. Returns true if all subexpressions evaluate to true
AND运算符。如果所有的子表达式计算结果为true,返回true
| [if (IE 6)|(IE 7)] The OR operator. Returns true if any of the subexpressions evaluates to true.
OR运算符。返回true,如果子表达式计算结果为true。

 

 

<!--[if lt IE 9]>
加载CSS1
<!--[else]>
加载CSS2
<![endif]-->

这样有效是有效,但是用HTML VALIDATOR里,报错,因为这个不符合XHTML 1.1的规范,
如果把ELSE语句去掉,则正确,如下:

 加载CSS2

<!--[if lt IE 9]>
加载CSS1(可以把要重写的写在这里).

<![endif]-->


转自:http://www.cnblogs.com/dtdxrk/archive/2012/03/06/2381868.html