( 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
};\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
X.ViewPort.listenOnce( X_TEMP.SYSTEM_EVENT_PRE_INIT,\r
X_UA_DOM.W3C ?\r
(function(){\r
- var r = Node._body,\r
+ var r = X_Node_body,\r
body = r._rawObject,\r
copy, i, l, node, html,\r
elmProgress;\r
\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
// ブロック要素直下のスペースだけは削除??\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
//++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
}\r
)\r
.listenOnce( X.Event.SUCCESS, function( e ){\r
- var xnodes = Node._body._xnodes = [], t;\r
+ var xnodes = X_Node_body._xnodes = [], t;\r
xnodes.push.apply( xnodes, e.xnodes );\r
elmProgress.style.width = '100%';\r
\r
- X_TEMP.asyncCreateTree( Node._body, body.childNodes, elmProgress );\r
+ X_TEMP.asyncCreateTree( X_Node_body, body.childNodes, elmProgress );\r
} );\r
\r
}) :\r
X_UA_DOM.IE4 ?\r
(function(){\r
- var r = Node._body,\r
+ var r = X_Node_body,\r
body = r._rawObject,\r
elmProgress = '_xdom_builder_progress',\r
html;\r
)\r
.listenOnce( X.Event.SUCCESS,\r
function( e ){\r
- var xnodes = Node._body._xnodes = [], t;\r
+ var xnodes = X_Node_body._xnodes = [], t;\r
xnodes.push.apply( xnodes, e.xnodes );\r
elmProgress.style.width = '100%';\r
\r
- X_TEMP.asyncCreateTree( Node._body, body.childNodes || body.children, elmProgress );\r
+ X_TEMP.asyncCreateTree( X_Node_body, body.childNodes || body.children, elmProgress );\r
}\r
);\r
}) :\r
//alert( 'koko?' );\r
X.Timer.once( 0, X_TEMP.asyncCreateTree, [ null, null, elmProgress, async || { stack : stack, current : i < l && current, done : done } ] );\r
// progress\r
- elmProgress.style.width = ( ( 1 - done / Node._chashe.length ) * 100 | 0 ) + '%';\r
+ elmProgress.style.width = ( ( 1 - done / X_Node_CHASHE.length ) * 100 | 0 ) + '%';\r
return;\r
};\r
}; \r
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
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
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
xnode._tag = tag;\r
//};\r
xnode._root = parent._root;\r
- xnode._dirty = 0;\r
+ xnode._flags &= X_Node_DIRTY_MASK_RESET;\r
elm.UID = xnode._uid;\r
current.xtext = null;\r
\r
\r
++current.j;\r
xnode._rawObject = elm;\r
- xnode._dirty = 0;\r
+ xnode._flags &= X_Node_DIRTY_MASK_RESET;\r
xnode._text = elm.data; // 正確\r
xnode._root = parent._root;\r
if( !skipCleanup ){\r
++current.j;\r
\r
xnode._rawObject = elm;\r
- xnode._dirty = 0;\r
+ xnode._flags &= X_Node_DIRTY_MASK_RESET;\r
xnode._root = parent._root;\r
//xnode._tag = X_Dom_DTD_TAG_FIX[ tag ] || tag;\r
if( X_TEMP._isCleanupTarget( elm ) ){ //!xnode.hasClass( 'skip-cleanup' ) && ( X_Dom_DTD_CLEANUP_TAGS[ tag ] || xnode.hasClass( 'cleanup-target' ) ) ){\r
};\r
\r
// textNode がある\r
- ( current.flag & 6 ) && ( parent._dirty |= X_Node_Dirty.IE4_TEXTNODE_FIX );\r
+ ( current.flag & 6 ) && ( parent._flags |= X_Node_State.IE4_TEXTNODE_FIX );\r
});\r
\r
console.log( 'X.Dom.Builder' );\r