OSDN Git Service

fix X.UA & X.Audio, add X.KB.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 02_XUA.js
index 3ce9532..94799e4 100644 (file)
@@ -193,7 +193,23 @@ var X_UA = X[ 'UA' ] = {},
                 */\r
                X_UA[ 'Linux' ]  = true;\r
                \r
-               if( ( i = dua.indexOf( 'Android' ) ) !== -1 ){\r
+               if( dua.indexOf( 'Android ' ) !== -1 ){\r
+                       v = dua.split( 'Android ' )[ 1 ].split( '.' );\r
+                       /**\r
+                        * @alias X.UA.AndroidMajor\r
+                        * @type {number}\r
+                        */\r
+                       X_UA[ 'AndroidMajor' ] = parseFloat( v[ 0 ] ) || 0;\r
+                       /**\r
+                        * @alias X.UA.AndroidMinor\r
+                        * @type {number}\r
+                        */\r
+                       X_UA[ 'AndroidMinor' ]  = parseFloat( v[ 1 ] ) || 0;\r
+                       /**\r
+                        * @alias X.UA.AndroidPatch\r
+                        * @type {number}\r
+                        */\r
+                       X_UA[ 'AndroidPatch' ]  = parseFloat( v[ 2 ] ) || 0;\r
                        /**\r
                         * Firefox で Version が取れない!\r
                         * http://bizmakoto.jp/bizid/articles/1207/31/news004.html\r
@@ -205,7 +221,7 @@ var X_UA = X[ 'UA' ] = {},
                         * @alias X.UA.Android\r
                         * @type {number}\r
                         */\r
-                       X_UA[ 'Android' ]  = parseFloat( dua.substr( i + 8 ) ) || 0.1;\r
+                       X_UA[ 'Android' ]  = X_UA[ 'AndroidMajor' ] + X_UA[ 'AndroidMinor' ] / 10;\r
                        console.log( '>> Android : ' + X_UA[ 'Android' ]  );\r
                };\r
        };\r
@@ -486,57 +502,42 @@ var X_UA = X[ 'UA' ] = {},
                console.log( '>> Gecko : ' + X_UA[ 'Gecko' ] );\r
        };\r
        \r
-       // TODO Blink\r
-       if( window.chrome ){\r
-               /**\r
-                * @alias X.UA.Blink\r
-                * @type {number}\r
-                */\r
-               X_UA[ 'Blink' ] = tv;\r
-               console.log( '>>Blink : ' + X_UA[ 'Blink' ] );\r
-               \r
-       } else\r
-       if( dav.indexOf( 'Konqueror' ) !== -1 ){\r
-               /**\r
-                * @alias X.UA.Khtml\r
-                * @type {number}\r
-                */\r
-               X_UA[ 'Khtml' ] = tv;\r
-               console.log( '>>Khtml : ' + X_UA[ 'Khtml' ] );\r
-               \r
-       } else\r
-       if( ( i = dua.indexOf( 'Android ' ) ) !== -1 ){\r
+       if( dua.indexOf( 'Linux; U; Android ' ) !== -1 || dua.indexOf( 'Linux; Android ' ) !== -1 ){\r
                /**\r
                 * Android 標準ブラウザ\r
                 * @alias X.UA.AndroidBrowser\r
                 * @type {number}\r
                 */\r
-               X_UA[ 'AndroidBrowser' ] = i = parseFloat( dua.substr( i + 8 ) ) || 0.1;\r
+               X_UA[ 'AndroidBrowser' ] = X_UA[ 'Android' ];\r
+               \r
+               v = X_UA[ 'AndroidMajor' ];\r
+               \r
                /**\r
                 * @alias X.UA.AndroidBrowser1\r
                 * @type {boolean}\r
                 */\r
-               X_UA[ 'AndroidBrowser1' ] = 1 <= i && i < 2;\r
+               X_UA[ 'AndroidBrowser1' ] = v === 1;\r
                /**\r
                 * @alias X.UA.AndroidBrowser2\r
                 * @type {boolean}\r
                 */\r
-               X_UA[ 'AndroidBrowser2' ] = 2 <= i && i < 3;\r
+               X_UA[ 'AndroidBrowser2' ] = v === 2;\r
                /**\r
                 * @alias X.UA.AndroidBrowser3\r
                 * @type {boolean}\r
                 */\r
-               X_UA[ 'AndroidBrowser3' ] = 3 <= i && i < 4;\r
+               X_UA[ 'AndroidBrowser3' ] = v === 3;\r
                /**\r
                 * @alias X.UA.AndroidBrowser4\r
                 * @type {boolean}\r
                 */\r
-               X_UA[ 'AndroidBrowser4' ] = 4 <= i && i < 5;\r
+               X_UA[ 'AndroidBrowser4' ] = v === 4;\r
                /**\r
                 * @alias X.UA.AndroidBrowser5\r
                 * @type {boolean}\r
                 */\r
-               X_UA[ 'AndroidBrowser5' ] = 5 <= i && i < 6;\r
+               X_UA[ 'AndroidBrowser5' ] = v === 5;\r
+               \r
                console.log( '>> AndroidBrowser : ' + X_UA[ 'Android' ] );\r
                \r
                i = parseFloat(dua.split('WebKit\/')[1]);\r
@@ -547,7 +548,39 @@ var X_UA = X[ 'UA' ] = {},
                X_UA[ 'AndroidWebkit' ] = i;\r
                //alert( 'AudioSprite調査:Android標準ブラウザ Webkit Version ' + i );\r
                \r
+               if( window.chrome ){\r
+                       //X_UA[ 'Blink' ] = X_UA[ 'AndroidChromeBrowser' ] = tv;\r
+               } else\r
+               if( v = parseFloat(dua.split('Chrome\/')[1]) ){\r
+                       X_UA[ 'Chrome' ] = X_UA[ 'AndroidChromeBrowser' ] = v;\r
+               };\r
+               \r
+               //if( window[ 'webkitRequestFileSystem' ] ) alert( 'requestFileSystem' );\r
+               \r
+               //alert( 'html.style.WebkitAppearance:' + ( document.documentElement.style[ 'WebkitAppearance' ] === undefined ) + ' win.chrome:' + !!( window.chrome ) );\r
+\r
+       } else\r
+       \r
+       // TODO Blink\r
+       if( window.chrome ){ // Android3.1 の標準ブラウザで .chrome がいた、、、\r
+               /**\r
+                * @alias X.UA.Blink\r
+                * @type {number}\r
+                */\r
+               X_UA[ 'Blink' ] = tv;\r
+               console.log( '>>Blink : ' + X_UA[ 'Blink' ] );\r
+               \r
+       } else\r
+       if( dav.indexOf( 'Konqueror' ) !== -1 ){\r
+               /**\r
+                * @alias X.UA.Khtml\r
+                * @type {number}\r
+                */\r
+               X_UA[ 'Khtml' ] = tv;\r
+               console.log( '>>Khtml : ' + X_UA[ 'Khtml' ] );\r
+               \r
        } else\r
+       \r
        if( i = parseFloat(dua.split('WebKit\/')[1]) ){\r
                /**\r
                 * @alias X.UA.WebKit\r