* @alias X.UA\r
* @type {object}\r
*/\r
-var X_UA = X[ 'UA' ] = {};\r
+var X_UA = X[ 'UA' ] = {},\r
+ X_UA_classNameForHTML = 'js-enabled ';\r
\r
(function(){\r
var dua = navigator.userAgent,\r
* @alias X.UA.IECompat\r
* @type {number}\r
*/\r
- X_UA[ 'IECompat' ] = /* v !== X_UA[ '_IE' ] || */ tridentToVer !== X_UA[ '_IE' ] && tridentToVer;\r
+ if( v = tridentToVer !== X_UA[ '_IE' ] && tridentToVer ) X_UA[ 'IECompat' ] = v;\r
/**\r
* @alias X.UA.IE4\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE4' ] = v && v < 5;\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
- X_UA[ 'IE5' ] = 5 <= v && v < 5.5;\r
+ if( 5 <= v && v < 5.5 ) X_UA[ 'IE5' ] = true;\r
/**\r
* @alias X.UA.IE55\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE55' ] = 5.5 <= v && v < 6;\r
+ if( 5.5 <= v && v < 6 ) X_UA[ 'IE55' ] = true;\r
/**\r
* @alias X.UA.IE5x\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE5x' ] = X_UA[ 'IE5' ] || X_UA[ 'IE55' ];\r
+ if( X_UA[ 'IE5' ] || X_UA[ 'IE55' ] ) X_UA[ 'IE5x' ] = true;\r
/**\r
* @alias X.UA.IE6\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE6' ] = 6 <= v && v < 7;\r
+ if( 6 <= v && v < 7 ) X_UA[ 'IE6' ] = true;\r
/**\r
* @alias X.UA.IE7\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE7' ] = 7 <= v && v < 8;\r
+ if( 7 <= v && v < 8 ) X_UA[ 'IE7' ] = true;\r
/**\r
* @alias X.UA.IE8\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE8' ] = 8 <= v && v < 9;\r
+ if( 8 <= v && v < 9 ) X_UA[ 'IE8' ] = true;\r
/**\r
* @alias X.UA.IE9\r
* @type {boolean}\r
*/\r
- X_UA[ 'IE9' ] = 9 <= v && v < 10;\r
+ if( 9 <= v && v < 10 ) X_UA[ 'IE9' ] = true;\r
/**\r
* @alias X.UA.MacIE\r
* @type {boolean}\r
*/\r
- X_UA[ 'MacIE' ] = X_UA[ 'Mac' ];\r
+ if( X_UA[ 'Mac' ] ) X_UA[ 'MacIE' ] = true;\r
/**\r
* @alias X.UA.IEMobile\r
* @type {boolean}\r
*/\r
- X_UA[ 'IEMobile' ] = dua.toLowerCase().indexOf( 'iemobile' ) !== -1 || X_UA[ 'WinCE' ];\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
- X_UA[ 'WinPhone' ] = dua.toLowerCase().indexOf( 'windows phone' ) !== -1 || 0 < dav.indexOf( 'ZuneWP' ); // ZuneWP は IEM のデスクトップモードで登場する\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' ] );\r
// TODO XBox360, XBox1, Modern or Desktop, Standalone\r
return;\r
};\r
})();\r
\r
+(function(){\r
+ var k, v;\r
+ if( X_UA[ 'IE45' ] || X_UA[ 'IE4' ] ){\r
+ if( X_UA[ 'Mac' ] ){\r
+ X_UA_classNameForHTML = 'Mac';\r
+ } else\r
+ if( X_UA[ 'WinCE' ] ){\r
+ // TODO CE3 の ie4 と WM の ie4 の分岐\r
+ X_UA_classNameForHTML = 'WinCE';\r
+ } else\r
+ if( X_UA[ 'Win' ] ){\r
+ X_UA_classNameForHTML = 'Win';\r
+ } else {\r
+ X_UA_classNameForHTML = 'Other';\r
+ }; \r
+ \r
+ X_UA_classNameForHTML += 'IE4';\r
+ \r
+ if( X_UA[ 'IE45' ] ){\r
+ X_UA_classNameForHTML += '5';\r
+ };\r
+\r
+ if( X_UA[ 'ActiveX' ] ){\r
+ X_UA_classNameForHTML += 'ActiveX';\r
+ };\r
+ \r
+ } else {\r
+ for( k in X_UA ){\r
+ v = X_UA[ k ];\r
+ if( v ){\r
+ X_UA_classNameForHTML += k + ' ';\r
+ if( v !== true ){\r
+ X_UA_classNameForHTML += k + v + ' ';\r
+ };\r
+ };\r
+ }; \r
+ };\r
+})();\r
+\r
var X_UA_DOM = {},\r
X_UA_EVENT = {},\r
X_UA_HID = {};\r