OSDN Git Service

Version 0.6.180, fix X.Audio.
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 02_XUA.js
index c639e70..ec338a8 100644 (file)
@@ -264,8 +264,13 @@ var X_UA = X[ 'UA' ] = {},
                        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
@@ -318,8 +323,7 @@ var X_UA = X[ 'UA' ] = {},
                 */\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
@@ -457,8 +461,7 @@ var X_UA = X[ 'UA' ] = {},
                \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
@@ -469,14 +472,12 @@ var X_UA = X[ 'UA' ] = {},
                 */\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
@@ -491,8 +492,7 @@ var X_UA = X[ 'UA' ] = {},
                 */\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
@@ -504,8 +504,7 @@ var X_UA = X[ 'UA' ] = {},
                 */\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
@@ -515,8 +514,7 @@ var X_UA = X[ 'UA' ] = {},
                 * @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
@@ -542,8 +540,10 @@ var X_UA = X[ 'UA' ] = {},
                         */\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
@@ -560,20 +560,17 @@ var X_UA = X[ 'UA' ] = {},
                         */\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
@@ -687,31 +684,32 @@ var X_UA = X[ 'UA' ] = {},
                };              \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