条件或js来检测用户是否在Windows XP上?

Har*_*ldo 8 html javascript php jquery

因为windows xp渲染某些字体非常糟糕,我想检测用户是否正在使用该操作系统并相应地向主体添加类.

我正在寻找一个html条件语句或php $ _SERVER var来做到这一点

但是,如果没有沿着下面的线条执行一条javscript

if(users_os === 'xp'){
    $('body').addClass('xp');
}
Run Code Online (Sandbox Code Playgroud)

我应该坚持哪些途径?!!!

谢谢!


编辑:澄清!

这是在这使得Web应用程序中更好的字体,如果用户它本身安装了一个项目的进一步发展-看到我的解决方案的一部分在这里:延长字体堆栈能力.

字体在OS和浏览器的组合上呈现不同,而不仅仅是浏览器 - 我希望能够知道用户是否在xp上,因为它的Calibri呈现非常差

jAn*_*ndy 7

确定哪个用于Web应用程序实际上没有意义.唯一值得关注的是.即使在浏览器中,您也只需关心它支持什么,不支持什么.operating systemBrowser

jQuery中您可以使用.支持() ,.browser().boxModel()方法用于这一目的.


And*_*y E 4

我完全同意jAndy 的回答,您不应该需要对 Web 应用程序进行操作系统检测,并且很少需要浏览器检测(当然,统计/分析除外)。

话虽这么说,如果您坚持需要这个,您可以使用 PHP 函数获取您需要了解的信息get_browser()

$browser = get_browser();
echo $browser["platform"];
// -> "WinXP"
Run Code Online (Sandbox Code Playgroud)

  • @Haroldo:我理解并完全鼓励你做你想做的事。当人们谈论使用浏览器检测是一个坏主意时,他们知道它与功能检测相比是不可靠的。例如,检查 IE6 使用 ActiveX 而不是本机“XMLHttpRequest”是一个坏主意,因为它可以在 IE7/8 中禁用。你所做的似乎不会造成任何伤害,所以我认为没有人可以提出“真正的”反对它的论据 (2认同)