2013-03-23 103 views
0

我使用下面顯示的JavaScript代碼來顯示我的計算機瀏覽器爲「Firefox 19.0」。顯示計算機瀏覽器

<script language="javascript" type="text/javascript"> 
function detect() 
{ 
document.getElementById("bCodeName").innerHTML = navigator.appCodeName; 
} 
</script> 
<div id="bCodeName"></div> 
<body onload="detect();"></body> 

但這代碼只是顯示:

Mozilla 

我不知道如何繼續下去。

請幫忙。提前致謝。

+0

打開一個'console'(Firebug或Chrome控制檯)並在立即數jor命令行輸入'Navigator'。 – 2013-03-23 09:49:53

+0

爲什麼這個問題被降低了? – imulsion 2013-03-23 09:50:52

+2

@imulsion。我沒有倒退,但我必須說它顯示出很少的研究努力。如果一個屬性沒有完全返回你想要的,你應該能夠查找同一個對象的其他屬性。 – GolezTrol 2013-03-23 09:53:05

回答

0

如前所述,您可以瀏覽「導航器」對象屬性,然後正確解析對您有意思的內容(例如:「appCodeName」,「appVersion」和無所不在的「userAgent」)。

兩個這樣做可能方式:

function detect() 
{ 
    document.getElementById("bCodeName").innerHTML = navigator.appCodeName + " " + navigator.appVersion.split(" ")[0]; 
} 

或短一點:

function detect() 
{ 
    document.getElementById("bCodeName").innerHTML = navigator.userAgent.split(" ")[0].replace("/", " "); 
} 

你可以做的很好處理異常,如果有一些錯誤,而這個分析數據。見Javascript Try/Catch

編輯:

如果你想顯示具體的應用程序名稱和版本,看看到this great SO answer。有了這個,最終的代碼是:

function detect() 
{ 
    var N= navigator.appName, ua= navigator.userAgent, tem; 
    var M= ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); 
    if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1]; 
    M = M? [M[1], M[2]]: [N, navigator.appVersion, '-?']; 
    document.getElementById("bCodeName").innerHTML = M[0] + " " + M[1] 
} 
+0

嗨謝爾...謝謝你,但它顯示Mozilla 5.0,但我需要Firefox 5.0。如何繼續這樣做? – user2201935 2013-03-23 11:03:55

+0

答案剛剛更新,您正在尋找的輸出。玩這個,看看這是你在找什麼。順便說一句,我認爲「detect()」返回版本並將其插入到HTML外部會更好 - 這將使您的代碼在未來更加可用。 – Kiddo 2013-03-23 11:34:17

0

改爲使用navigator.appName。我不知道,如果返回正確的名稱(它返回「Netscape的瀏覽器中,由於某種原因。navigator也有some other propertiesappVersion,您可以使用。

0

正如Browser detection in JavaScript?

回答 肯納貝克
navigator.sayswho= (function(){ 
    var N= navigator.appName, ua= navigator.userAgent, tem; 
    var M= ua.match(/(opera|chrome|safari|firefox|msie)\/?\s*(\.?\d+(\.\d+)*)/i); 
    if(M && (tem= ua.match(/version\/([\.\d]+)/i))!= null) M[2]= tem[1]; 
    M= M? [M[1], M[2]]: [N, navigator.appVersion,'-?']; 
    return M; 
})(); 

您也可以使用navigator.userAgent

下面是一個完整的文檔:

http://www.w3schools.com/jsref/prop_nav_useragent.asp

相關問題