2011-08-12 57 views

回答

54

嘗試:

var os = navigator.platform;

然後進行相應處理OS變量的結果。

您還可以遍歷navigator對象的每個對象,以幫助您更與對象熟悉:

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

普通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); 

尼克建議你可以使用navigator.platform爲好。

+4

爲什麼通過所有去麻煩的時候'navigator.platform'存在? – NickAldwin

+1

因爲不推薦使用'navigator.platform'。 查看https://developer.mozilla.org/en-US/docs/Web/API/NavigatorID.platform –

+3

,但'appVersion' [也被棄用](https://developer.mozilla.org/en-US /docs/Web/API/NavigatorID.appVersion)? – Gordon

6

嘗試:

alert(navigator.appVersion); 

這應該給你一個字符串,你可以解析OS。

13

據我所知platform是導航器對象上較少欺騙的屬性。 你可以用它來獲得布爾值。

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

5
<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> 

確保正確的下載鏈接很容易找到,但沒有隱藏其他操作系統的鏈接。人們可能仍然需要這些。

<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> 

現在,用戶可如果他想要禁用或塊的JavaScript。鏈接仍然會在那裏,而不是用JavaScript編寫鏈接,這需要javascript才能工作。

這裏是一個小提琴

http://jsfiddle.net/7fmJb/