0

コンピューターのブラウザーを「Firefox 19.0」として表示するために、以下に示す JavaScript コードを使用しています。

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

しかし、このコードは表示されているだけです:

Mozilla

先に進む方法がわかりません。

助けてください。前もって感謝します。

4

3 に答える 3

0

前述のように、「navigator」オブジェクトのプロパティをブラウジングし、関心のあるプロパティを適切に解析できます (たとえば、「appCodeName」、「appVersion」、遍在する「userAgent」など)。

これを行うには、次の 2 つの方法があります。

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を参照してください

編集:

特定のアプリケーション名とバージョンを表示したい場合は、このすばらしい 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]
}
于 2013-03-23T10:02:35.260 に答える
0

navigator.appName代わりに使用してください。それが正しい名前を返すかどうかはわかりません(Chromeでは何らかの理由で「Netscape」が返されます。使用できるような他のプロパティnavigatorもあります。appVersion

于 2013-03-23T09:49:03.643 に答える
0

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

于 2013-03-23T09:50:05.153 に答える