我正在使用下面显示的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 :(得分:0)
请改用navigator.appName
。我不确定这是否会返回正确的名称(由于某种原因,它会在Chrome中返回'Netscape'。navigator
还有some other properties,例如appVersion
,您可以使用。
答案 1 :(得分:0)
kennebec 在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
以下是完整的文档:
答案 2 :(得分: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]
}