OSDN Git Service

Version 0.6.42, bugfix for tree update event.
[pettanr/clientJs.git] / 0.6.x / js / dom / 22_XDomBuilder.js
index bad1a9f..5525535 100644 (file)
@@ -15,6 +15,7 @@ X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT,
        var r    = Node.root,\r
                body = r._rawNode,\r
                i, n = 0,\r
+               html,\r
                elmProgress;\r
        // TODO\r
        // textarea の内容を控えて、消す。xnode tree 構築後に復帰。でないと、html パースでこける\r
@@ -65,11 +66,13 @@ X.Dom.listenOnce( X.Dom.Event.DOM_PRE_INIT,
        })( body );\r
        \r
        // body の属性値の取得\r
-\r
+       html = body.innerHTML;\r
+       \r
        body.appendChild( elmProgress = document.createElement( 'div' ) );\r
        elmProgress.style.cssText = 'position:absolute;top:0;left:0;z-index:9999;width:0;height:0.5em;background:#00f;overflow:hidden;';\r
+       elmProgress.setAttribute( 'style', 'position:absolute;top:0;left:0;z-index:9999;width:0;height:0.5em;background:#00f;overflow:hidden;' );\r
        \r
-       X.Dom.asyncParse( body.innerHTML, true )\r
+       X.Dom.asyncParse( html, true )\r
                .listen( X.Event.PROGRESS,\r
                        function(e){\r
                                elmProgress.style.width = ( e.progress * 100 | 0 ) + '%';\r
@@ -87,7 +90,8 @@ X.Dom.DOM_IE4 ?
 (function(){\r
        var r    = Node.root,\r
                body = r._rawNode,\r
-               i, n = 0, elmProgress = '_xdom_builder_progress';\r
+               elmProgress = '_xdom_builder_progress',\r
+               html;\r
 \r
        /*\r
         * http://support.microsoft.com/kb/812417/ja\r
@@ -95,12 +99,13 @@ X.Dom.DOM_IE4 ?
         * \r
         * body.innerHTML でなく、 body.outerHTML にはできなかった、、、\r
         */\r
+       html = body.innerHTML;\r
        body.insertAdjacentHTML( 'BeforeEnd', '<div id="' + elmProgress + '" style="position:absolute;top:0;left:0;z-index:9999;width:0;height:0.5em;background:#00f;overflow:hidden;"></div>' );\r
        elmProgress = document.all[ elmProgress ];\r
        \r
-       X.Dom.asyncParse( body.innerHTML, true )\r
+       X.Dom.asyncParse( html, true )\r
                .listen( X.Event.PROGRESS,\r
-                       function(e){\r
+                       function( e ){\r
                                elmProgress.style.width = ( e.progress * 100 | 0 ) + '%';\r
                        }\r
                )\r