I had the same issue as we needed a splash screen for our mobile applications. What helps in my case was to just do this before loading the "real" script:
window.qx = {}; qx.$$domReady = true; I am not sure why this happens. Somehow the init system in qooxdoo seems to be to modeled to one specific use case. Not sure if it wouldn't be better when qooxdoo directly offers some kind of splash screen feature in the future. It's not a too uncommon need IMHO. Cheers, Sebastian 2009/12/21 Christian Schmidt <schmidt.christ...@1und1.de>: > Hi Skar, > > I'm not the expert for the boot loader from qooxdoo, but I will try my best > ;-) > > I think, I have found the reason why the application is not loaded with > Firefox. The qooxdoo script loader sets a DOM ready flag for FF, which isn't > set when the application is loaded like you do. > > You can add this workaround to your source code to run it with your build > application on script load: > <code> > // ... > <script type="text/javascript"> > if (!window.qx) window.qx = {}; > var fireContentLoadedEvent = function() { > qx.$$domReady = true; > document.removeEventListener('DOMContentLoaded', fireContentLoadedEvent, > false); > }; > if (document.addEventListener) { > document.addEventListener('DOMContentLoaded', fireContentLoadedEvent, > false); > } > > //<![CDATA[ > window.onload = > // ... > </code> > > This code is a copy from qooxdoo script loader and sets the DOM ready flag > for Firefox. > > I haven't tested it, but I think now it works with all Browsers. > > Cheers, > Chris > > Am 21.12.2009 12:00, schrieb skar: > > Hi, > > I used the following html to serve a qooxdoo app. It works fine in > chrome, but doesn't work in ff 3.5. Basically, I'm trying to show a > progress text for the qooxdoo build js file. The file is fetched ok and > when I add the js node, it works fine in chrome, but in ff, nothing > happens and no errors/warnings in firebug. > > Any one know where I'm going wrong? > > > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> > <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en-us"> > <head> > <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > <title>testproject</title> > <script type="text/javascript"> > //<![CDATA[ > window.onload = > > //load the js now > function() { > var app_js = "/testproject/build/script/testproject.js"; > var head = document.getElementsByTagName('head')[0]; > var body = document.getElementsByTagName("body")[0]; > var progress = document.getElementById('progress'); > var nojs = document.getElementById("nojs"); > var js_app = ""; > var js_element; > var cur_size = 0; > var js_req = new XMLHttpRequest(); > var percent = 0; > var js = 0; > var size = 0; > var progress_text = ""; > > js_req.open("GET", app_js, true); > js_req.onreadystatechange = function() { > //3, the partial progress state will occur more times, so > check it first > if (js_req.readyState == 3) { > cur_size = js_req.responseText.length || 0; > if(size == 0){ > size = > parseInt(js_req.getResponseHeader("Content-Length")) || 0; > console.log("App size is " + size + " ..."); > } > percent = parseInt(cur_size/size * 100); > progress_text = "App loaded " + percent + "% " + cur_size > + " of " + size + " bytes ..."; > //console.log("Current progress text content is: " + > progress.textContent + " ..."); > progress.textContent = progress_text; > return; > } else if(js_req.readyState == 4) { //4 means complete > if(size == 0){ > size = > parseInt(js_req.getResponseHeader("Content-Length")) || 0; > console.log("App size is " + size + " ..."); > } > console.log("App load request completed with status " + > js_req.status + " ..."); > clearTimeout(jsTimer); > if (js_req.status == 200) { > console.log("Fully loaded app " + cur_size + " of " + > size + " bytes ..."); > //remove the progress div > body.removeChild(progress); > body.removeChild(nojs); > js_app = js_req.responseText; > js_element = document.createElement('script'); > js_element.type = 'text/javascript'; > js_element.text = js_app; > js_element.id = "dyn_js" > //js_element.src = app_js; > head.appendChild(js_element); > //res = eval(js_app); > //console.log("Eval res is " + res + " ..."); > return; > } else { //loaded part > console.log("Error in loading js!!! Status is:" + > js_req.status + " ..."); > return; > } > } else { //not complete yet > return; > } //else part > }; > console.log("Sending app request ..."); > var jsTimer = setTimeout(function() { > console.log("Aboring app loading request due to time out!!!"); > js_req.abort(); > }, 10000); > js_req.send(); //send it, NOW > } > //]]> > </script> > </head> > <body> > <div id="nojs"> > <!-- > <noscript> > <center><b>Javascript disabled or not supported!!! Please enable > javascript in your browser!!!</b></center> > </noscript> > --> > </div> > <div id="progress">Loading application ...</div> > </body> > </html> > > > cheers, > skar. > > > > -- > Christian Schmidt > Software Entwickler > > 1&1 Internet AG - Web Technologies > Ernst-Frey-Straße 9 · DE-76135 Karlsruhe > schmidt.christ...@1und1.de > > Amtsgericht Montabaur / HRB 6484 > Vorstände: Henning Ahlert, Ralph Dommermuth, Matthias Ehrlich, Thomas > Gottschlich, Robert Hoffmann, Markus Huhn, Hans-Henning Kettler, Dr. Oliver > Mauss, Jan Oetjen > Aufsichtsratsvorsitzender: Michael Scheeren > > ------------------------------------------------------------------------------ > This SF.Net email is sponsored by the Verizon Developer Community > Take advantage of Verizon's best-in-class app development support > A streamlined, 14 day to market process makes app distribution fast and easy > Join now and get one step closer to millions of Verizon customers > http://p.sf.net/sfu/verizon-dev2dev > _______________________________________________ > qooxdoo-devel mailing list > qooxdoo-devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel > > ------------------------------------------------------------------------------ This SF.Net email is sponsored by the Verizon Developer Community Take advantage of Verizon's best-in-class app development support A streamlined, 14 day to market process makes app distribution fast and easy Join now and get one step closer to millions of Verizon customers http://p.sf.net/sfu/verizon-dev2dev _______________________________________________ qooxdoo-devel mailing list qooxdoo-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel