- acme.ActiveX = !!window[ 'ActiveXObject' ];\r
- acme._IE = parseFloat(dua.split('MSIE ')[1]) || parseFloat(dua.split('rv:')[1]) || parseFloat(dav.split('MSIE ')[1]) || 0;\r
- // IE11 の互換モードの dav にも Trident/7.0 が書かれているため互換モードか?判定ができる\r
- // 互換モードでは Silverlight でエラーが出る?\r
- acme.Trident = parseFloat(dav.split('Trident/')[1]) || 0;\r
- acme.IE = document.documentMode || acme._IE;\r
- tridentToVer = acme.Trident ? ( acme.Trident + 4 | 0 ) : acme._IE;\r
- acme.IECompat = /* acme.IE !== acme._IE || */ tridentToVer !== acme._IE && tridentToVer;\r
- acme.IE4 = acme.IE && acme.IE < 5;\r
- acme.IE5678 = 5 <= acme.IE && acme.IE < 9;\r
- acme.IE5 = 5 <= acme.IE && acme.IE < 5.5;\r
- acme.IE55 = 5.5 <= acme.IE && acme.IE < 6;\r
- acme.IE5x = acme.IE5 || acme.IE55;\r
- acme.IE6 = 6 <= acme.IE && acme.IE < 7;\r
- acme.IE7 = 7 <= acme.IE && acme.IE < 8;\r
- acme.IE8 = 8 <= acme.IE && acme.IE < 9;\r
- acme.IE9 = 9 <= acme.IE && acme.IE < 10;\r
- acme.MacIE = dua.indexOf( 'Mac_PowerPC' ) !== -1 || dua.indexOf( 'Mac_PPC' ) !== -1 || dua.indexOf( 'Mac_68K' ) !== -1;\r
- acme.IEMobile = dua.toLowerCase().indexOf( 'iemobile' ) !== -1 || acme.WinCE;\r
- acme.WinPhone = dua.toLowerCase().indexOf( 'windows phone' ) !== -1;\r
- console.log( '>> IE : ' + acme.IE + ' ActiveX : ' + acme.ActiveX );\r
+ /**\r
+ * @alias X.UA.ActiveX\r
+ * @type {boolean}\r
+ */\r
+ X_UA[ 'ActiveX' ] = !!window[ 'ActiveXObject' ];\r
+ /**\r
+ * documentモードを考慮しないIEのバージョン\r
+ * @alias X.UA._IE\r
+ * @type {number}\r
+ */\r
+ X_UA[ '_IE' ] = parseFloat(dua.split('MSIE ')[1]) || parseFloat(dua.split('rv:')[1]) || parseFloat(dav.split('MSIE ')[1]) || 0;\r
+ /**\r
+ * IE11 の互換モードの navigator.appVersion にも Trident/7.0 が書かれているため互換モードか?判定ができる\r
+ * 互換モードでは Silverlight でエラーが出る?\r
+ * @alias X.UA.Trident\r
+ * @type {number}\r
+ */\r
+ X_UA[ 'Trident' ] = parseFloat(dav.split('Trident/')[1]) || 0;\r
+ \r
+ tridentToVer = X_UA[ 'Trident' ] ? ( X_UA[ 'Trident' ] + 4 | 0 ) : X_UA[ '_IE' ];\r
+ /**\r
+ * IE10 以上の互換モードを使用している場合、そのバージョン\r
+ * @alias X.UA.IEHost\r
+ * @type {number}\r
+ */\r
+ if( tridentToVer !== X_UA[ '_IE' ] ) X_UA[ 'IEHost' ] = tridentToVer;\r
+ /**\r
+ * documentモードを考慮したIEのバージョン\r
+ * @alias X.UA.IE\r
+ * @type {number}\r
+ */\r
+ X_UA[ 'IE' ] = v = document.documentMode || tridentToVer;\r
+ /**\r
+ * @alias X.UA.IE4\r
+ * @type {boolean}\r
+ */\r
+ if( v && v < 4.5 ) X_UA[ 'IE4' ] = true;\r
+ /**\r
+ * @alias X.UA.IE45\r
+ * @type {boolean}\r
+ */\r
+ if( v && 4.5 <= v && v < 5 ) X_UA[ 'IE45' ] = true;\r
+ /**\r
+ * @alias X.UA.IE4x\r
+ * @type {boolean}\r
+ */\r
+ if( X_UA[ 'IE4' ] || X_UA[ 'IE45' ] ) X_UA[ 'IE4x' ] = true;\r
+ /**\r
+ * @alias X.UA.IE5\r
+ * @type {boolean}\r
+ */\r
+ if( 5 <= v && v < 5.5 ) X_UA[ 'IE5' ] = true;\r
+ /**\r
+ * @alias X.UA.IE55\r
+ * @type {boolean}\r
+ */\r
+ if( 5.5 <= v && v < 6 ) X_UA[ 'IE55' ] = true;\r
+ /**\r
+ * @alias X.UA.IE5x\r
+ * @type {boolean}\r
+ */\r
+ if( X_UA[ 'IE5' ] || X_UA[ 'IE55' ] ) X_UA[ 'IE5x' ] = true;\r
+ /**\r
+ * @alias X.UA.IE6\r
+ * @type {boolean}\r
+ */\r
+ if( 6 <= v && v < 7 ) X_UA[ 'IE6' ] = true;\r
+ /**\r
+ * @alias X.UA.IE7\r
+ * @type {boolean}\r
+ */\r
+ if( 7 <= v && v < 8 ) X_UA[ 'IE7' ] = true;\r
+ /**\r
+ * @alias X.UA.IE8\r
+ * @type {boolean}\r
+ */\r
+ if( 8 <= v && v < 9 ) X_UA[ 'IE8' ] = true;\r
+ /**\r
+ * @alias X.UA.IE9\r
+ * @type {boolean}\r
+ */\r
+ if( 9 <= v && v < 10 ) X_UA[ 'IE9' ] = true;\r
+ /**\r
+ * @alias X.UA.MacIE\r
+ * @type {boolean}\r
+ */\r
+ if( X_UA[ 'Mac' ] ) X_UA[ 'MacIE' ] = true;\r
+ /**\r
+ * @alias X.UA.IEMobile\r
+ * @type {boolean}\r
+ */\r
+ if( dua.toLowerCase().indexOf( 'iemobile' ) !== -1 || X_UA[ 'WinCE' ] ) X_UA[ 'IEMobile' ] = true;\r
+ /**\r
+ * @alias X.UA.WinPhone\r
+ * @type {boolean}\r
+ */\r
+ if( dua.toLowerCase().indexOf( 'windows phone' ) !== -1 || 0 < dav.indexOf( 'ZuneWP' ) ) X_UA[ 'WinPhone' ] = true; // ZuneWP は IEM のデスクトップモードで登場する\r
+ \r
+ console.log( '>> IE : ' + v + ' ActiveX : ' + X_UA[ 'ActiveX' ] + ' IEHost : ' + X_UA[ 'IEHost' ] );\r