2016-04-07 7 views
1

私はバグ追跡システムを変更していますが、ユーザー入力 'プラットフォーム'、 'OS'および 'OSバージョン'のフィールドがあります。クリックすると異なる 'ナビゲータオブジェクトのプロパティ'を使用する検出ボタンが必要です。罰金と「プラットフォームのために働いて、私は(下記参照)の情報を抽出するために、ほとんどの場合ではないすべてのオブジェクトのプロパティを使用 -ユーザエージェントの一部を抽出して表示できますか?

<ul id="clickme"> 
    <li><a href="#/" id="element1" type="button" onclick="javascript:changeText(1)">Find for me</a></li> 
</ul> 


<div style="" id="hidden" hidden> 
    <div id="demo"></div> 
<script> 
var txt = ""; 
txt += "<p>Browser CodeName: " + navigator.appCodeName + "</p>"; 
txt += "<p>Browser Name: " + navigator.appName + "</p>"; 
txt += "<p>Browser Version: " + navigator.appVersion + "</p>"; 
txt += "<p>Cookies Enabled: " + navigator.cookieEnabled + "</p>"; 
txt += "<p>Browser Language: " + navigator.language + "</p>"; 
txt += "<p>Browser Online: " + navigator.onLine + "</p>"; 
txt += "<p>Platform: " + navigator.platform + "</p>"; 
txt += "<p>User-agent header: " + navigator.userAgent + "</p>"; 


document.getElementById("demo").innerHTML = txt; 
</script> 
</div> 

あなたはわかりますが、ディスプレイが含ま切り替わりボタンがあります。

問題は、「OS」と「OSバージョン」に対して簡単な答えを抽出できないという問題です。

ユーザーエージェント内の希望の情報が表示されますが、バグを報告しているときに、その情報をすべてのユーザーのユーザーエージェントから取得する方法を知っていれば非常に役に立ちます。

私のユーザエージェントの例は、「User-Agentヘッダです:Mozillaの/ 5.0(Macintosh版、インテルのMac OS X 10_11_1)のAppleWebKit/537.36(ヤモリのようにKHTML、)(//削除ブラウザの一部)

Iこのビットが必要です(MacintoshのIntel Mac OS X 10_11_1)。フォーマットが可能です。

私はこの質問を少し長めにしたことを知っていますが、あらゆる指針や選択肢がありがたいです。私の問題に関連する質問はありません。

(上記のコードはW3学校からのものであるが、すべてのオブジェクトの好例であった場合)

おかげで、水田。

答えて

1

あなたがこれを行うことができますきちんとしたライブラリがあります:https://github.com/faisalman/ua-parser-js

例:

<script type="text/javascript" src="ua-parser.min.js"></script> 
<script type="text/javascript"> 
    var parser = new UAParser(); 
    var os = parser.getOS(); 
    console.log(os.name, os.version); 
</script> 
+0

これは私が必要とする正確に何のように見えますが、どうもありがとうございました。現在、このスクリプトをテストページに貼り付け、そのパッケージをダウンロードしました。何も表示していないようですね?それは明らかに私のせいですが、私が知る必要があるものは何ですか?おそらく構文エラーがあります。haha – phppaddy

+0

console.logコマンドは、ブラウザのdeveloper-consoleにログを記録します。ブラウザウィンドウに表示する場合は、たとえばalert(os.name)を使用します。そして、ua-parser.min.jsへのパスを確認してください;) – Jojo

+0

ああ!完璧な今、それを私の 'var txt;に実装しました。 - 絶対にスポット!ちょうど私が笑を必要としたもの。ジョホがとても感謝しています! :) – phppaddy

関連する問題