检测Windows版本的条件注释?

时间:2012-12-08 02:02:42

标签: html conditional-comments

我最近发现您可以使用它来检测Windows版本:

<!--[if WindowsEdition]>Blah<![endif]-->

但是WindowsEdition使用了什么值?

基本上我正在尝试使用条件注释来检测Internet Explorer的用户是否支持升级到IE9或更高版本的Windows版本。我希望能够检测到“Windows XP及以下版本”和“Windows Vista及更高版本”之间的区别。

这样做的目的是引导IE7及以下用户更新IE9 / 10,或者如果他们的操作系统不支持IE9,则切换到Chrome / Firefox。这样做的原因是该网站在IE8中工作,但缺少许多CSS功能,所以它简而言之,“丑陋但可用”。

1 个答案:

答案 0 :(得分:1)

只有Windows Vista或更高版本的版本会向WindowEdition条件注释返回一个值。

来自Conditional Comment Wikipedia page

  

与用于查看网页的Windows的版本对应的整数。如果值与正在使用的版本匹配,则返回布尔值true。有关支持的值及其描述的版本的信息,请参阅GetProductInfo函数的pdwReturnedProductType参数。

重点是我的。按版本,它们指的是Home,Home Starter,Professional,Ultimate等。

GetProductInfo function的MSDN页面支持此功能。该页面还列出了GetProductInfo的输入参数,包括

  

dwOSMajorVersion [in]

     

操作系统的主要版本号。最小值为6.

版本6对应Vista,所以我怀疑Windows XP和早于XP的Windows版本没有这个GetProductInfo函数,无法调用它,也不会返回任何与IE中的条件注释进行比较的内容。