版本向量
注意:本文档是预备文档,随时可能变更。
Windows Internet Explorer Web Windows Internet Explorer 8 版本向量是指的内部版本号,它存储在浏览器启动时读取的注册表项中。开发人员可以使用版本向量检测查看器正在使用哪个版本的浏览器查看网站。了解浏览器检测的最佳实践,可确保在客户端查看网站时,该网站继续按预期方式运行。
Windows Internet Explorer Web 此文档将介绍如何使用版本向量的值。此外,还提供一些示例代码,帮助开发人员实现和维护建议的浏览器检测方法。
Windows Internet Explorer 如何使用版本向量
->Windows Internet Explorer HTML Windows Internet Explorer 除在填充“帮助”“关于”部分时使用版本向量外,在处理条件注释时也使用此值。条件注释是页面的源代码中的注释块,只能由解释。注释可能包含一个或多个运算符、特征值或值。
<!--[if gte IE8]>
Windows Internet Explorer Version 8 Windows Internet Explorer 例如,以上代码显示了检查及更高版本所需的注释代码。大于或等于比较用于确保条件适用于的未来版本,这样发布新版本时就无需更新代码。
Windows Internet Explorer 5.5 5.5002版本向量还包含浏览器次版本号。测试浏览器主版本号时,版本向量是整数。为检查浏览器次版本号,版本向量后加上了小数点和四位数字。例如,发布版的版本向量是。
<!--[if gte IE 5.5002]><p>You are using IE 5 or higher</p><![endif]-->
此代码示例显示了检查浏览器主版本号和浏览器次版本号所需的注释代码。这可以使您进一步适当调整条件。
-- HTML [endif] downlevel-hidden downlevel-revealed 条件注释的开始和结束标记中都包含连字符(“”),这与基本注释相似。条件显示在标记的开始部分,而放在标记的结束部分之前。内容则放在注释标记中。这些注释称为类型的注释,因为不支持条件注释的所有浏览器或浏览器版本都将忽略这些注释以及标签之间的标记。没有连字符的条件注释称为类型的注释,因为低级浏览器将忽略这些注释,但会处理标签之间的标记。
<![if lt IE 5.5]><p>``您正在使用早于`` IE 5.5 ``的版本或另一个低级浏览器``</p><![endif]>
此代码示例显示了检查浏览器主版本号和浏览器次版本号所需的注释代码。这可以使您进一步适当调整条件。
使用版本向量的浏览器检测
Windows Internet Explorer (CSS) Windows Internet Explorer 8 Windows Internet Explorer 7 CSS 使用用户代理字符串 1 /使用条件注释包括针对的特定版本使用不同的级联样式表规则。这可以使您确保客户端不会接收针对的修正和更改。您还可以检测浏览器版本。表列出了可用于构成条件注释的可用特征值、运算符和或值。
1表
项 |
示例 |
注释 |
IE |
[if IE] |
IE Windows Internet Explorer当前唯一支持的特征值是字符串“”,用于表示。 |
值 |
[if IE 7] |
Boolean true一个整数或浮点数,用于表示浏览器版本。如果版本号与浏览器版本匹配,则返回值。 |
! |
[if !IE] |
NOT Boolean 运算符。将此运算符直接放在特征值、运算符或子表达式前面可表示表达式的相反含义。 |
lt |
[if lt IE 5.5] |
true小于运算符。如果第一个参数小于第二个参数,则返回。 |
lte |
[if lte IE 6] |
true小于或等于运算符。如果第一个参数小于或等于第二个参数,则返回。 |
gt |
[if gt IE 5] |
true大于运算符。如果第一个参数大于第二个参数,则返回。 |
gte |
[if gte IE 8] |
true大于或等于运算符。如果第一个参数大于或等于第二个参数,则返回。 |
( ) |
[if !(IE 7)] |
Boolean 子表达式运算符。与运算符结合使用以创建更复杂的表达式。 |
& |
[if (gt IE 5)&(lt IE 7)] |
AND true true运算符。如果所有子表达式的计算结果为,则返回。 |
| |
[if (IE 6)|(IE 7)] |
OR true true运算符。如果任一子表达式的计算结果为,则返回。 |
true |
[if true] |
true计算结果始终为。 |
false |
[if false] |
false计算结果始终为。 |
Windows Internet Explorer CSS 以下示例显示了如何使用条件注释确定正在使用的哪个版本以及要发送的相应样式表。
<head>
<title>测试页</title>
<meta http-equiv="X-UA-Compatible" content="IE=8"/>
<!--[if gte IE 8]>
<linkrel="stylesheet" type="text/css" href="/stylesheets/standards.css" />
<![endif]-->
<!--[if IE 7]>
<linkrel="stylesheet" type="text/css" href="/stylesheets/ie.css" />
<![endif]-->
</head>
Windows Internet Explorer 7 此外,如果要将相同的样式表用于及更高版本,可以使用以下示例代码。
<head>
<title>测试页</title>
<!--[if gte IE 7]>
<linkrel="stylesheet" type="text/css" href="/stylesheets/ie.css" />
<![endif]-->
</head>
Windows Internet Explorer Windows Internet Explorer 请注意,以上代码示例使用大于或等于比较。这可以确保代码适用于的未来版本,这样在发布的新版本时就无需更新代码。以下是各种条件语句的一些其他示例。
<!--[if IE]><p>``您使用的是`` Internet Explorer``。``</p><![endif]-->
<![if !IE]><p>``您没有使用高级`` Internet Explorer ``版本。``</p><![endif]>
<!--[if IE 8]><p>``欢迎使用`` Internet Explorer 8``!``</p><![endif]-->
<!--[if !(IE 8)]><p>``您没有使用`` Internet Explorer 8``。``</p><![endif]-->
<!--[if gte IE 7]><p>``您使用的是`` IE 7 ``或更高版本。``</p><![endif]-->
<!--[if (IE 5)]><p>``您使用的是`` IE 5``(任何版本)。``</p><![endif]-->
<!--[if (gte IE 5.5)&(lt IE 7)]><p>``您使用的是`` IE 5.5 ``或`` IE 6``。``</p><![endif]-->
<!--[if lt IE 5.5]><p>``请升级您的`` Internet Explorer ``版本。``</p><![endif]-->
<!--[if true]>``您使用的是``<em>``高级``</em>``浏览器。``<![endif]-->
<!--[if false]>``您使用的是``<em>``低级``</em>``浏览器。``<![endif]-->
<!--[if true]><![if IE 7]><p>``此嵌套注释在`` IE 7 ``中显示。``</p><![endif]><![endif]-->
关于条件注释有关条件注释和版本向量的详细信息,请参阅。
其他浏览器检测技术
HTTP Windows Internet Explorer 报告的用户代理字符串中的内容用户代理字符串是通过通信报告给网站的浏览器的标识。除版本向量之外,您还可以使用用户代理字符串检测查看网站所用的浏览器。有关用户代理字符串以及如何使用它们检测浏览器版本的详细信息,请参阅。
使用条件注释的一个缺点是它们不需要脚本;如果在网页中不使用脚本,也就无需加载任何脚本引擎。条件注释是在下载和分析阶段处理的,因此实际上只需下载面向浏览器的内容。条件注释可与其他浏览器检测技术自由结合使用。