OSDN Git Service

Version 0.6.121, iScroll5 is working on iPhone touch 1G, update X.Audio.
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 22_XTreeBuilder.js
index 97df49d..caf6555 100644 (file)
@@ -8,7 +8,7 @@ X_TEMP._isCleanupTarget = function( elm ){
                ( X_Dom_DTD_CLEANUP_TAGS[ tag ] || cname.indexOf( ' cleanup-target ' ) !== -1 );\r
 };\r
 \r
-if( X.UA.MacIE ){\r
+if( X_UA.MacIE ){\r
 \r
        X_TEMP._fixed_remove = function( node, xnode ){\r
                var parent   = node.parentNode, l;\r
@@ -86,7 +86,7 @@ if( X.UA.MacIE ){
        };\r
        \r
 } else\r
-if( X.UA.Opera7 ){\r
+if( X_UA.Opera7 ){\r
 \r
        X_TEMP._fixed_remove = function( node ){\r
                if( node.nodeType === 1 || node.nodeType === 3 ){\r
@@ -115,9 +115,11 @@ X.ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_PRE_INIT,
        \r
        if( !X_TEMP.X_Dom_useBuilder ) return;\r
        \r
+       X_HTMLParser_skipFixNesting = true;\r
+       \r
        // TODO\r
        // textarea の内容を控えて、消す。xnode tree 構築後に復帰。でないと、html パースでこける\r
-       //X.UA.MacIE && alert( body.innerHTML );\r
+       //X_UA.MacIE && alert( body.innerHTML );\r
        // cleanup tree \r
        (function/*cleanUpTree*/( elm, skip, head ){\r
                var nodes      = X_Object_cloneArray( elm.childNodes ),\r
@@ -157,7 +159,7 @@ X.ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_PRE_INIT,
                                        // ブロック要素直下のスペースだけは削除??\r
                                default :\r
                                        //console.log( 'Remove type: ' + node.nodeType + ' value: ' + node.nodeValue );\r
-                                       if( !X.UA.Opera7 /*&& !X.UA.MacIE */ ){\r
+                                       if( !X_UA.Opera7 /*&& !X_UA.MacIE */ ){\r
                                                elm.removeChild( node );\r
                                        } else {\r
                                                X_TEMP._fixed_remove( node );\r
@@ -165,13 +167,13 @@ X.ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_PRE_INIT,
                                        //++count;\r
                        };\r
                };\r
-       })( X.UA.MacIE ? ( copy = body.cloneNode( true ) ) : body );\r
+       })( X_UA.MacIE ? ( copy = body.cloneNode( true ) ) : body );\r
 \r
-       if( X.UA.MacIE ){\r
+       if( X_UA.MacIE ){\r
                document.write( html = copy.innerHTML );\r
        } else {\r
                // body の属性値の取得\r
-               if( X.UA.IE5678 ){\r
+               if( X_UA.IE5678 ){\r
                        html = body.innerHTML.split( X_String_CRLF ).join( '' ); // 不要な改行が入る\r
                } else {\r
                        html = body.innerHTML;\r
@@ -311,6 +313,8 @@ X_TEMP.asyncCreateTree = function ( parent, elems, elmProgress, async ){
        delete X_TEMP.bindElementToXnode;\r
        delete X_TEMP.X_Dom_useBuilder;\r
        delete X_TEMP._isCleanupTarget;\r
+       \r
+       X_HTMLParser_skipFixNesting = false;\r
 };\r
 \r
 X_TEMP.bindElementToXnode =\r
@@ -330,7 +334,7 @@ X_TEMP.bindElementToXnode =
                                elm = elems[ current.j ];\r
                                tag = elm.tagName && elm.tagName.toUpperCase();\r
                                if( ( elm.nodeType !== 1 && elm.nodeType !== 3 ) || tag === '!' || ( tag && tag.charAt( 0 ) === '/' ) ){\r
-                                       if( !X.UA.Opera7 && !X.UA.MacIE ){\r
+                                       if( !X_UA.Opera7 && !X_UA.MacIE ){\r
                                                elm.parentNode.removeChild( elm );\r
                                        } else {\r
                                                X_TEMP._fixed_remove( elm );\r
@@ -342,7 +346,7 @@ X_TEMP.bindElementToXnode =
                                        if( elm.nodeType === 3 ){\r
                                                if( !( text = elm.data ) || ( text = X_String_cleanupWhiteSpace( text ) ) === ' ' ){\r
                                                        //alert( text.charCodeAt( 0 ) );\r
-                                                       if( !X.UA.Opera7 && !X.UA.MacIE ){\r
+                                                       if( !X_UA.Opera7 && !X_UA.MacIE ){\r
                                                                elm.parentNode.removeChild( elm );\r
                                                        } else {\r
                                                                X_TEMP._fixed_remove( elm );\r