jQuery / Javascript来检测操作系统没有插件?

我正在寻找一种方法来检测操作系统的下载页面使用jQuery或Javascript推荐特定文件的Mac与Windows。 我希望能够做到这一点,而无需在我的页面上添加其他插件。

尝试:

var os = navigator.platform;

然后根据你的结果处理osvariables。

您还可以遍历navigator对象的每个对象,以帮助您更熟悉对象:

 <script type="text/javascript"> for(var i in navigator){ console.log(i+"="+navigator[i]+'<br>'); } </script> 

普通的JavaScript可能是你所需要的。

 var OSName="Unknown OS"; if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows"; if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS"; if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX"; if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux"; document.write('Your OS: '+OSName); 

Nickbuild议你也可以使用navigator.platform

据我所知,该platform是导航器对象上较less欺骗的属性。 你可以用这个来获得布尔值。

 var isMac = navigator.platform.toUpperCase().indexOf('MAC')!==-1; var isWindows = navigator.platform.toUpperCase().indexOf('WIN')!==-1; var isLinux = navigator.platform.toUpperCase().indexOf('LINUX')!==-1; 

如果您需要区分旧的PowerPc和新的Intel之间的Mac。

 var isMacPpc=navigator.platform==="MacPPC"; var isMacIntel=navigator.platform==="MacIntel"; 

https://developer.mozilla.org/en/DOM/window.navigator.platform

尝试:

 alert(navigator.appVersion); 

这应该给你一个string,你可以parsing的操作系统。

 <script> osName = 'Unknown'; function nav(x, y, z) { z = z || y; if (navigator[x] && navigator[x].indexOf(y) !== -1) { osName = z; } } /* navigator value download */ nav( "appVersion", "X11", "UNIX" ); nav( "appVersion", "Mac", "MacOS" ); nav( "appVersion", "Linux" ); nav( "userAgent", "Linux" ); nav( "platform", "Linux" ); nav( "appVersion", "Win", "Windows" ); nav( "userAgent", "Windows" ); nav( "platform", "Win", "Windows" ); nav( "oscpu", "Windows" ); document.getElementById("download"+osName).className = "knownOS"; </script> 

确保正确的下载链接很容易find,但不隐藏其他操作系统链接。 人们可能仍然需要这些。

 <style> #downloadUNIX, #downloadMacOS, #downloadLinux, #downloadWindows { color:#6D94F2; line-height:35px; margin:24px 0 24px 0; padding:10px; } .knownOS { background-color:#F7ECAD !important; border:2px solid #E8913A; color:#133CC4 !important; font-weight:bold; } </style> 

和一些HTML

 <ul> <li><a id="downloadUNIX" href="unix Link Here" >Download Napster-9000 for UNIX</a></li> <li><a id="downloadWindows" href="windows Link Here">Download Napster-9000 for Windows</a></li> <li><a id="downloadMacOS" href="mac os link here" >Download Napster-9000 for OS X</a></li> <li><a id="downloadLinux" href="linux Link Here" >Download Napster-9000 for Linux</a></li> </ul> 

现在用户可以禁用或阻止JavaScripts,如果他想。 链接仍然会在那里,而不是用Javascript编写链接,这需要JavaScript的工作。

这是一个小提琴

http://jsfiddle.net/7fmJb/