OSDN Git Service

Version 0.6.172, bugfix...
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 02_XNodeFlags.js
index ff3ac0f..0a9fad8 100644 (file)
@@ -43,16 +43,21 @@ var X_NodeFlags_DESTROYED              = 0x0,
 \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 << 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
+                               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( '<!--[if gte vml 1]><script id=vmltest>window.vml=1;<\/script><![endif]-->' );\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
-                               if( window[ 'vml' ] === 1 ){\r
-                                       document.getElementById( 'vmltest' ).removeNode( true );\r
-                                       return 2 << 26;\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
                                };\r
                                return 0;\r
                        })(),\r