OSDN Git Service

Version 0.6.171, fix X.KB & fix X.Node for SVG & VML.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 02_XNodeFlags.js
index 2b69e35..ff3ac0f 100644 (file)
@@ -38,9 +38,25 @@ var X_NodeFlags_DESTROYED              = 0x0,
        X_NodeFlags_IE4_HAS_ELEMENT        = X_UA[ 'IE4' ] ? 2 << 22 : 0,\r
        X_NodeFlags_IE4_DIRTY_CHILDREN     = X_UA[ 'IE4' ] ? 2 << 23 : 0,\r
        X_NodeFlags_IE4_FIXED              = X_UA[ 'IE4' ] ? 2 << 24 : 0,\r
-               \r
+\r
        X_NodeFlags_IE5_DISPLAY_NONE_FIX   = X_UA[ 'IE5' ] && X_UA[ 'ActiveX' ] ? 2 << 24 : 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_VML                 =\r
+                       ( function(){\r
+                               if( !X_UA[ 'ActiveX' ] || X_UA[ 'IE' ] < 5 || 9 < X_UA[ 'IE' ] ) return 0;\r
+\r
+                               document.write( '<!--[if gte vml 1]><script id=vmltest>window.vml=1;<\/script><![endif]-->' );\r
+                               \r
+                               if( window[ 'vml' ] === 1 ){\r
+                                       document.getElementById( 'vmltest' ).removeNode( true );\r
+                                       return 2 << 26;\r
+                               };\r
+                               return 0;\r
+                       })(),\r
+\r
        X_Node_BITMASK_RESET_STYLE  = ( ( 2 << 29 ) - 1 + ( 2 << 29 ) ) ^ (\r
                X_NodeFlags_STYLE_IS_DISPLAY_NONE |\r
                X_NodeFlags_STYLE_IS_INVISIBLE |\r