ライトウェイトな Spec.js としての UserAgent.js を追加。WebView の判別機能などを入れてあります。
Spec.js の機能が増えてきたため、UserAgent 部分だけを分離した UserAgent.js を書きました。Edge への対応と WebView 判別部分などなど、多用する機能だけに絞って入れてあります。
var ua = new UserAgent();
var result = {
OS: ua.OS,
OS_VERSION: ua.OS_VERSION,
BROWSER: ua.BROWSER,
BROWSER_ENGINE: ua.BROWSER_ENGINE,
BROWSER_VERSION: ua.BROWSER_VERSION,
USER_AGENT: ua.USER_AGENT,
WEB_VIEW: ua.WEB_VIEW,
AOSP: ua.AOSP,
};
console.dir(result);
{
"OS": "Mac",
"OS_VERSION": "10.9.5",
"BROWSER": "Chrome",
"BROWSER_ENGINE": "Blink",
"BROWSER_VERSION": "44.0.2403",
"USER_AGENT": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.107 Safari/537.36",
"WEB_VIEW": false,
"AOSP": false
}
WebKit based WebView を判別する方法も実はあるのですが、確実性が下がるのと、今後は不必要な機能になるので、カットしました。