OSDN Git Service

Version 0.6.132, fix X.Node._flags & fix X.EventDispatcher._listeners & start to...
[pettanr/clientJs.git] / 0.6.x / js / 02_dom / 09_XHTMLParser.js
index 1a3e692..b0007c4 100644 (file)
@@ -50,7 +50,9 @@ var X_HTMLParser_CHARS = {
        X_HTMLParser_fillAttrs = X_Node_Attr_noValue, //{checked:1,compact:1,declare:1,defer:1,disabled:1,ismap:1,multiple:1,nohref:1,noresize:1,noshade:1,nowrap:1,readonly:1,selected:1};\r
 \r
        // Special Elements (can contain anything)\r
-       X_HTMLParser_special = { SCRIPT : 1, STYLE : 1, PLAINTEXT : 1, XMP : 1, TEXTAREA : 1 };\r
+       X_HTMLParser_special = { SCRIPT : 1, STYLE : 1, PLAINTEXT : 1, XMP : 1, TEXTAREA : 1 },\r
+       \r
+       X_HTMLParser_skipFixNesting = false;\r
        \r
        function X_HTMLParser_exec( html, handler, async ){\r
                var special        = X_HTMLParser_special,\r
@@ -269,8 +271,8 @@ var X_HTMLParser_CHARS = {
                var inline   = X_HTMLParser_inline,\r
                        parseEndTag = X_HTMLParser_parseEndTag,\r
                        sisters  = X_HTMLParser_sisters;\r
-               if ( X_HTMLParser_block[ tagName ] === 1 ) {\r
-                       while ( last && inline[ last ] === 1 ) {\r
+               if( !X_HTMLParser_skipFixNesting && X_HTMLParser_block[ tagName ] === 1 ){\r
+                       while( last && inline[ last ] === 1 ){\r
                                parseEndTag( stack, handler, last );\r
                                last = stack[ stack.length - 1 ];\r
                        };\r