私はuserAgentスニッフィングjavascriptアプリケーションを作成しました(実験/学習目的のみ)、そして私はほぼ完成しました。しかし、$ browser.versionの場合、userAgent文字列全体を取得しています。私はグーグルで検索しましたが、答えが見つかりません。これが私のコードです:
// contemplate new $browser module
var $browser, versionOffset, ua = navigator.userAgent;
if(ua.toLowerCase().indexOf('opera') > -1) {
$browser = {
name: "Opera",
engine: "Presto",
prefix: "-o-",
publisher: "Opera Software ASA",
version: ua.substring(versionOffset + 6)
}
}
else if(ua.toLowerCase().indexOf('msie') > -1) {
$browser = {
name: "Internet Explorer",
engine: "Trident",
prefix: "-ms-",
publisher: "Microsoft",
version: ua.substring(versionOffset + 5)
}
}
else if(ua.toLowerCase().indexOf('chrome') > -1) {
$browser = {
name: "Chrome",
engine: "WebKit",
prefix: "-webkit-",
publisher: "Google Inc.",
version: ua.substring(versionOffset + 7)
}
}
else if(ua.toLowerCase().indexOf('safari') > -1) {
$browser = {
name: "Safari",
engine: "WebKit",
prefix: "-webkit-",
publisher: "Apple Computer Inc.",
version: ua.substring(versionOffset + 8)
}
}
else if(ua.toLowerCase().indexOf('firefox') > -1) {
$browser = {
name: "Firefox",
engine: "Gecko",
prefix: "-moz-",
publisher: "Mozilla",
version: ua.substring(versionOffset + 8)
}
}
したがって、私のHTMLでは、次のことを行っています。
<script>
alert($browser.name + " " + $browser.version);
</script>
しかし、クロムでの私の出力は次のとおりです。
[JavaScriptアラート]:
Chrome($ browser.name)
Mozilla / 5.0(Windows NT 6.1; WOW64)AppleWebKit / 537.4(KHTML、Geckoなど)Chrome / 22.0.1229.91 Safari / 537.4($ browser.version)
しかし、私は明らかに「Chrome22」または「Chrome22.0.1229.91」が欲しい