console.log( '>> Android : ' + X_UA[ 'Android' ] );\r
} else\r
if( dua.indexOf( 'Android;' ) !== -1 ){\r
- // Fennec 用\r
- X_UA[ 'Android' ] = 2;\r
+ // Fennec41- 用\r
+ // https://developer.mozilla.org/ja/docs/Gecko_user_agent_string_reference\r
+ // バージョン 41 以降の Android 版 Firefox では platform トークンに Android バージョンが含まれます。\r
+ // 相互運用性向上のため、Android 4 以前のバージョンでブラウザが動作している場合は 4.4 と出力します。\r
+ // Android バージョン 4 以降では実際のバージョン番号が出力されます。\r
+ // なお、Gecko エンジンはすべての Android バージョンに対して同じ機能を提供しています。\r
+ X_UA[ 'Android' ] = 2.2;\r
};\r
};\r
\r
*/\r
X_UA[ 'NDS' ] = dua.indexOf( 'Nitro' ) !== -1;\r
console.log( '>> Opera : ' + v );\r
- return;\r
- };\r
+ } else\r
\r
// Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko\r
if( document.all || dav.indexOf( 'Trident/' ) !== -1 ){\r
\r
console.log( '>> IE : ' + v + ' ActiveX : ' + X_UA[ 'ActiveX' ] + ' IEHost : ' + X_UA[ 'IEHost' ] );\r
// TODO XBox360, XBox1, Modern or Desktop, Standalone\r
- return;\r
- };\r
+ } else\r
\r
// \r
if( ( i = dua.indexOf( 'NetFront\/' ) !== -1 ) ){\r
*/\r
X_UA[ 'NetFront' ] = parseFloat( dua.substr( i + 9 ) ) || 0.1;\r
console.log( '>> NetFront : ' + X_UA[ 'NetFront' ] );\r
- return;\r
- };\r
+ } else\r
\r
if( X_UA[ 'Linux' ] && tv === 2 && dua.indexOf( 'Sony\/COM2\/' ) !== -1 ){\r
X_UA[ 'NetFront' ] = 3.4;\r
console.log( '>> NetFront : ' + X_UA[ 'NetFront' ] );\r
- return;\r
- };\r
+ } else\r
\r
if( ( i = dua.toUpperCase().indexOf( 'PLAYSTATION 3' ) !== -1 ) ){\r
/**\r
*/\r
X_UA[ 'PS3' ] = parseFloat( dua.substr( i + 15 ) ) || 0.1;\r
console.log( '>> PS3 : ' + X_UA[ 'PS3' ] );\r
- return;\r
- };\r
+ } else\r
\r
if( ( i = dua.indexOf( 'iCab' ) !== -1 ) ){\r
/**\r
*/\r
X_UA[ 'iCab' ] = parseFloat( dua.substr( i + 5 ) ) || 0.1;\r
console.log( '>> iCab : ' + X_UA[ 'iCab' ] );\r
- return;\r
- };\r
+ } else\r
\r
if( 0 < dua.indexOf( 'Gecko\/' ) && ( i = dua.indexOf( 'rv:' ) ) ){\r
v = dua.substr( i + 3 ).split( '.' );\r
* @type {number}\r
*/\r
X_UA[ 'Gecko' ] = parseFloat( v[ 0 ] ) || 0 +\r
- ( parseFloat( v[ 1 ] ) || 0 ) / 10 +\r
- ( parseFloat( v[ 2 ] ) || 0 ) / 100;\r
+ ( parseFloat( v[ 1 ] ) || 0 ) / 10;\r
/**\r
* @alias X.UA.GeckoMajor\r
* @type {number}\r
*/\r
X_UA[ 'Fennec' ] = parseFloat( dua.substr( i + 7 ) );\r
console.log( '>> Fennec : ' + X_UA[ 'Fennec' ] + ', Gecko : ' + X_UA[ 'Gecko' ] );\r
- return;\r
- };\r
+ } else\r
+ if( X_UA[ 'Android' ] ){\r
+ X_UA[ 'Fennec' ] = X_UA[ 'Gecko' ];\r
+ } else\r
//Firefox\r
\r
//Netscape\r
*/\r
X_UA[ 'NN6' ] = true;\r
console.log( '>> NN : ' + X_UA[ 'NN' ] + ', Gecko : ' + X_UA[ 'Gecko' ] );\r
- return;\r
} else\r
//Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.2) Gecko/20040804 Netscape/7.2 (ax)\r
//Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.5) Gecko/20070321 Netscape/8.1.3\r
if( ( i = dua.indexOf( 'Netscape/' ) ) !== -1 ){\r
X_UA[ 'NN' ] = parseFloat( dua.substr( i + 9 ) ) || 7;\r
console.log( '>> NN : ' + X_UA[ 'NN' ] + ', Gecko : ' + X_UA[ 'Gecko' ] );\r
- return;\r
} else\r
//Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.12) Gecko/20080219 Firefox/2.0.0.12 Navigator/9.0.0.6\r
if( ( i = dua.indexOf( 'Navigator/' ) ) !== -1 ){\r
X_UA[ 'NN' ] = parseFloat( dua.substr( i + 10 ) ) || 9;\r
console.log( '>> NN : ' + X_UA[ 'NN' ] + ', Gecko : ' + X_UA[ 'Gecko' ] );\r
- return;\r
};\r
\r
console.log( '>> Gecko : ' + X_UA[ 'Gecko' ] );\r
}; \r
\r
console.log( '>> Webkit : ' + X_UA[ 'WebKit' ] + ' Safari : ' + X_UA[ 'Safari' ] );\r
- };\r
- \r
- if( dua.toLowerCase().indexOf( 'iris' ) !== -1 ){\r
- /**\r
- * http://www.useragentstring.com/pages/Iris/\r
- * @alias X.UA.Iris\r
- * @type {boolean}\r
- */\r
- X_UA[ 'Iris' ] = true;\r
- };\r
- \r
- if( // Kobo Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/533.1 (KHTML, like Gecko) Verson/4.0 Mobile Safari/533.1 (Kobo Touch)\r
- dua.indexOf( 'Kobo' ) !== -1 ||\r
- // Kindle paperwhite Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+\r
- dua.indexOf( 'Kindle' ) !== -1 ||\r
- // Sony Reader Mozilla/5.0 (Linux; U; ja-jp; EBRD1101; EXT) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1\r
- dua.indexOf( 'EBRD' ) !== -1\r
- ){\r
+ \r
+ if( dua.toLowerCase().indexOf( 'iris' ) !== -1 ){\r
/**\r
- * Kobo, Kindle, Sony Reader\r
- * @alias X.UA.EInk\r
+ * http://www.useragentstring.com/pages/Iris/\r
+ * @alias X.UA.Iris\r
* @type {boolean}\r
*/\r
- X_UA[ 'EInk' ] = true;\r
+ X_UA[ 'Iris' ] = true;\r
};\r
+ \r
+ if( // Kobo Mozilla/5.0 (Linux; U; Android 2.0; en-us;) AppleWebKit/533.1 (KHTML, like Gecko) Verson/4.0 Mobile Safari/533.1 (Kobo Touch)\r
+ dua.indexOf( 'Kobo' ) !== -1 ||\r
+ // Kindle paperwhite Mozilla/5.0 (X11; U; Linux armv7l like Android; en-us) AppleWebKit/531.2+ (KHTML, like Gecko) Version/5.0 Safari/533.2+ Kindle/3.0+\r
+ dua.indexOf( 'Kindle' ) !== -1 ||\r
+ // Sony Reader Mozilla/5.0 (Linux; U; ja-jp; EBRD1101; EXT) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1\r
+ dua.indexOf( 'EBRD' ) !== -1\r
+ ){\r
+ /**\r
+ * Kobo, Kindle, Sony Reader\r
+ * @alias X.UA.EInk\r
+ * @type {boolean}\r
+ */\r
+ X_UA[ 'EInk' ] = true;\r
+ }; \r
+ };\r
+\r
})();\r
\r
(function(){\r