ライトウェイトな 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 を判別する方法も実はあるのですが、確実性が下がるのと、今後は不必要な機能になるので、カットしました。