OSDN Git Service

Version 0.6.195, add opacity-fix for IE8.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 02_XNodeFlags.js
index c6faba9..166e14b 100644 (file)
@@ -40,29 +40,37 @@ var X_NodeFlags_DESTROYED              = 0x0,
        X_NodeFlags_IE4_FIXED              = X_UA[ 'IE4' ] ? 2 << 24 : 0,\r
 \r
        X_NodeFlags_IE5_DISPLAY_NONE_FIX   = X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? 2 << 24 : 0,\r
-\r
+       X_NodeFlags_IE8_OPACITY_FIX        = X_UA[ 'IE8' ] && X_UA[ 'ActiveX' ] ? 2 << 25 : 0,\r
+       \r
        // http://modernizr.com/downloads/modernizr.js\r
        // Thanks to Erik Dahlstrom\r
-       X_NodeFlags_IS_SVG                 = document.createElementNS && document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' )[ 'createSVGRect' ] ? 2 << 25 : 0,\r
+       X_NodeFlags_IS_SVG                 = document.createElementNS && document.createElementNS( 'http://www.w3.org/2000/svg', 'svg' )[ 'createSVGRect' ] ? 2 << 26 : 0,\r
        X_NodeFlags_IS_VML                 =\r
                        ( function(){\r
-                               if( !X_UA[ 'ActiveX' ] || X_UA[ 'IE' ] < 5 || 9 < X_UA[ 'IE' ] || X_UA[ 'ieExeComError' ] ) return 0; // standalone の除外 -> X_UA[ 'ieExeComError' ]\r
+                               if( !X_UA[ 'ActiveX' ] || X_UA[ 'IE' ] < 5 || 9 < X_UA[ 'IE' ] /* || X_UA[ 'ieExeComError' ] */ ) return 0; // standalone の除外 -> X_UA[ 'ieExeComError' ]\r
 \r
                                document.write(\r
                                        '<!--[if vml]><script id=vmltest1>__vml=1;</script><![endif]-->' +\r
                                        '<!--[if gte vml 1]><script id=vmltest2>__vml=2;</script><![endif]-->' );\r
                                \r
+                               /**\r
+                                * VML のバージョン\r
+                                * @alias X.Doc.VML\r
+                                * @type {number}\r
+                                */\r
+                               X[ 'Doc' ][ 'VML' ] = window[ '__vml' ] / 2 || 0;                               \r
+                               \r
                                switch( window[ '__vml' ] ){\r
                                        case 2 :\r
                                                document.getElementById( 'vmltest2' ).removeNode( true );\r
                                        case 1 :\r
                                                document.getElementById( 'vmltest1' ).removeNode( true );\r
-                                               return 2 << 26;\r
+                                               return 2 << 27;\r
                                };\r
                                return 0;\r
                        })(),\r
        \r
-       X_NodeFlags_SYSTEM_NODE     = 2 << 27,\r
+       X_NodeFlags_SYSTEM_NODE     = 2 << 28,\r
 \r
        X_Node_BITMASK_RESET_STYLE  = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ (\r
                X_NodeFlags_STYLE_IS_DISPLAY_NONE |\r
@@ -78,10 +86,18 @@ var X_NodeFlags_DESTROYED              = 0x0,
 \r
        X_Node_BitMask_IS_DIRTY     = X_NodeFlags_DIRTY_POSITION | \r
                X_NodeFlags_DIRTY_CONTENT | X_NodeFlags_DIRTY_ID | X_NodeFlags_DIRTY_CLASSNAME |\r
-               X_NodeFlags_DIRTY_ATTR | X_NodeFlags_DIRTY_CSS | X_NodeFlags_DIRTY_IE_FILTER,\r
+               X_NodeFlags_DIRTY_ATTR | X_NodeFlags_DIRTY_CSS | X_NodeFlags_DIRTY_IE_FILTER | X_NodeFlags_IE8_OPACITY_FIX,\r
 \r
        X_Node_BitMask_RESET_DIRTY  = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ X_Node_BitMask_IS_DIRTY,\r
        \r
        X_Node_BitMask_RESET_GPU    = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ ( X_NodeFlags_GPU_RESERVED | X_NodeFlags_GPU_NOW | X_NodeFlags_GPU_RELEASE_RESERVED ),\r
        \r
        X_Node_BitMask_IE4_IS_MIX   = X_NodeFlags_IE4_HAS_TEXTNODE | X_NodeFlags_IE4_HAS_ELEMENT;\r
+\r
+// TODO SVGのバージョン\r
+/**\r
+ * SVG が有効か?\r
+ * @alias X.Doc.SVG\r
+ * @type {boolean}\r
+ */\r
+X[ 'Doc' ][ 'SVG' ] = !!X_NodeFlags_IS_SVG;\r