0

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

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

但是WindowsEdition使用什么值呢?

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

这样做的目的是引导 IE7 及更低版本的用户更新到 IE9/10,或者如果他们的操作系统不支持 IE9,则切换到 Chrome/Firefox。这样做的原因是该站点在 IE8 中运行,但缺少许多 CSS 功能,因此用几句话来说就是“丑陋但可用”。

4

1 回答 1

1

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

来自Conditional Comment Wikipedia 页面

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

重点是我的。他们的版本是指 Home、Home Starter、Professional、Ultimate 等。

GetProductInfo 函数的 MSDN 页面支持这一点。该页面还列出了 GetProductInfo 的输入参数,其中包括

dwOSMajorVersion [输入]

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

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

于 2012-12-08T02:45:52.143 回答