|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Locks on firefoxWhy this chunk of code freezes all mi firefox ???
anybody knows ... im currently trying to put some animated gif when this file is loading but nothings happen cos' firefox locks everyting =( what can i do ?? NOTE: the size of "tab3.html" is 1 mb <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <script type="text/javascript"> var djConfig = {isDebug: true}; </script> <script type="text/javascript" src="scripts/dojo-0.3.1-ajax/dojo.js"></script> <script type="text/javascript"> dojo.require("dojo.widget.ContentPane"); function init() { var pane = dojo.widget.byId("Pane1"); var status = dojo.byId("status"); dojo.event.connect(dojo.byId("load"), "onclick", function(evt){ // load a new url into contentPane pane.setUrl("tab3.html"); }); dojo.event.connect(pane, "onDownloadStart", function(evt){ evt.preventDefault(); dojo.debug("Download started"); status.style.display = "block"; }); dojo.event.connect(pane, "onDownloadEnd", function(evt){ // not defaultPrevent()'able dojo.debug("Download finished"); status.style.display = "none" }); dojo.event.connect(pane, "onDownloadError", function(evt){ dojo.debug("Download error"); //evt.preventDefault(); // or evt.returnValue = false; status.style.display = "none"; }) } dojo.addOnLoad(init); </script> </head> <body> <div id="status" style="position: absolute; top: 400px; left: 400px; display: none; background-color:yellow;"> Downloading new content, please wait... </div> <a href="#" id="load">load some url into contentpane</a> <div dojoType="ContentPane" id="Pane1" style="border: 1px dotted gray;width: 200px; height:200px;"> Initial content in contentpane </div> </body> </html> _______________________________________________ Dojo FAQ: http://dojo.jot.com/FAQ Dojo Book: http://manual.dojotoolkit.org/DojoDotBook Dojo-interest@... http://dojotoolkit.org/mailman/listinfo/dojo-interest |
|
|
Re: Locks on firefoxonsdag 11 oktober 2006 16:55 skrev Ariel Falduto:
> Why this chunk of code freezes all mi firefox ??? > > anybody knows ... im currently trying to put some animated gif when > this file is loading but nothings happen cos' firefox locks everyting > =( > > what can i do ?? > > NOTE: the size of "tab3.html" is 1 mb Well to start with 1Mb is a heck lot of html and ContentPane was never/ will never be designed to handle such loads. ContentPane is NOT a iframe, its a ajax wrapper that makes it easy to switch content within a existing DOM. Think around to 1-100 lines (optionaly dojo-ified) html or something around that. What kind of ajax app needs 1Mb content switches? If I were you and I still needed that big chunk, I'd use an iframe. / Fredrik _______________________________________________ Dojo FAQ: http://dojo.jot.com/FAQ Dojo Book: http://manual.dojotoolkit.org/DojoDotBook Dojo-interest@... http://dojotoolkit.org/mailman/listinfo/dojo-interest |
|
|
Re: Locks on firefoxI think I have same problem :
Browser : Firefox 1.5 (config : default [keep-alive activated, network.http.max-persistent-connections-per-server : 2]) DOJO version : HEAD [10-11-06] Using a synchronous XMLHttpRequest while loading a big enough document ( greater than 65536 bytes) create a dead-lock : FF wait for server response for its XMLHttpRequest and the server waits for FF to read the content (document data) This code helps to reproduce the bug <html> <head> <script src="dojo/dojo.js.uncompressed.js"></script> <script> function docLoaded() { var http = dojo.hostenv.getXmlhttpObject(); http.open('GET',"document.xml", false); alert("Calling sync XMLHttpRequest - it's gonna freeze ..."); http.send(null); alert("Well, i guess they've fixed it, response (first fragment ) is " + http.responseText.substring(0, 255)); } if (document.addEventListener) document.addEventListener("DOMContentLoaded", docLoaded, false); </script> </head> <body> <img src="img/Sunset.jpg" width="100" /> <img src="img/Sunset1.jpg" width="100" /> <img src="img/Sunset2.jpg" width="100" /> <img src="img/Sunset3.jpg" width="100" /> <img src="img/Sunset4.jpg" width="100" /> </body> </html> This is not a DOJO problem, but you can reproduce this problem with DOJO : DOJO loads "required JS files" (and HTML templates) synchronously, Ex : Try to load an HTML page (using dojo) with 2 images (the number corresponds to the number of persistent connections allowed by firefox) whom size are greater than 65536 bytes (because FF loads 64Kb before allowing the server to send other response) , you will freeze FF Other example on Dean Edwards Blog : Try to open the link http://dean.edwards.name/weblog/2005/09/busted/ in the news " Dean Edwards’ DOMContentLoaded <http://dean.edwards.name/weblog/2006/06/again/> " with FireFox 1.5 (or 2.0 RC2) This bug only appears on the HEAD version because 0.3 version does not seem to use DOMContentLoaded, and window.onLoad wait for images complete loading. (which is bad for DOJO perf.) Ariel Falduto a écrit : > Why this chunk of code freezes all mi firefox ??? > > anybody knows ... im currently trying to put some animated gif when > this file is loading but nothings happen cos' firefox locks everyting > =( > > what can i do ?? > > NOTE: the size of "tab3.html" is 1 mb > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" > "http://www.w3.org/TR/html4/strict.dtd"> > <html> > <head> > <script type="text/javascript"> > var djConfig = {isDebug: true}; > </script> > <script type="text/javascript" > src="scripts/dojo-0.3.1-ajax/dojo.js"></script> > <script type="text/javascript"> > dojo.require("dojo.widget.ContentPane"); > > function init() { > var pane = dojo.widget.byId("Pane1"); > var status = dojo.byId("status"); > > dojo.event.connect(dojo.byId("load"), "onclick", function(evt){ > // load a new url into contentPane > pane.setUrl("tab3.html"); > }); > > dojo.event.connect(pane, "onDownloadStart", function(evt){ > evt.preventDefault(); > dojo.debug("Download started"); > status.style.display = "block"; > }); > > dojo.event.connect(pane, "onDownloadEnd", function(evt){ > // not defaultPrevent()'able > dojo.debug("Download finished"); > status.style.display = "none" > }); > > dojo.event.connect(pane, "onDownloadError", function(evt){ > dojo.debug("Download error"); > //evt.preventDefault(); // or > evt.returnValue = false; > status.style.display = "none"; > }) > } > dojo.addOnLoad(init); > </script> > </head> > <body> > <div id="status" style="position: absolute; top: 400px; left: 400px; > display: > none; background-color:yellow;"> > Downloading new content, please wait... > </div> > > <a href="#" id="load">load some url into contentpane</a> > > <div dojoType="ContentPane" id="Pane1" style="border: 1px dotted > gray;width: > 200px; height:200px;"> > Initial content in contentpane > </div> > </body> > </html> > _______________________________________________ > Dojo FAQ: http://dojo.jot.com/FAQ > Dojo Book: http://manual.dojotoolkit.org/DojoDotBook > Dojo-interest@... > http://dojotoolkit.org/mailman/listinfo/dojo-interest > _______________________________________________ Dojo FAQ: http://dojo.jot.com/FAQ Dojo Book: http://manual.dojotoolkit.org/DojoDotBook Dojo-interest@... http://dojotoolkit.org/mailman/listinfo/dojo-interest |
|
|
Re: Locks on firefoxThank you Arnaud !
Very descriptive, I did'nt know that. / Fredrik torsdag 12 oktober 2006 08:25 skrev Arnaud Andrillon: > I think I have same problem : > > Browser : Firefox 1.5 (config : default [keep-alive activated, > network.http.max-persistent-connections-per-server : 2]) > DOJO version : HEAD [10-11-06] > > Using a synchronous XMLHttpRequest while loading a big enough document ( > greater than 65536 bytes) create a dead-lock : > FF wait for server response for its XMLHttpRequest and the server waits > for FF to read the content (document data) > > This code helps to reproduce the bug > <html> > <head> > <script src="dojo/dojo.js.uncompressed.js"></script> > <script> > function docLoaded() { > var http = dojo.hostenv.getXmlhttpObject(); > http.open('GET',"document.xml", false); > > alert("Calling sync XMLHttpRequest - it's gonna freeze ..."); > http.send(null); > alert("Well, i guess they've fixed it, response (first fragment ) is " + > http.responseText.substring(0, 255)); > } > > if (document.addEventListener) > document.addEventListener("DOMContentLoaded", docLoaded, false); > > </script> > </head> > <body> > <img src="img/Sunset.jpg" width="100" /> > <img src="img/Sunset1.jpg" width="100" /> > <img src="img/Sunset2.jpg" width="100" /> > <img src="img/Sunset3.jpg" width="100" /> > <img src="img/Sunset4.jpg" width="100" /> > </body> > </html> > > This is not a DOJO problem, but you can reproduce this problem with DOJO : > DOJO loads "required JS files" (and HTML templates) synchronously, > > Ex : > Try to load an HTML page (using dojo) with 2 images (the number > corresponds to the number of persistent connections allowed by firefox) > whom size are greater than 65536 bytes > (because FF loads 64Kb before allowing the server to send other > response) , you will freeze FF > > Other example on Dean Edwards Blog : > Try to open the link http://dean.edwards.name/weblog/2005/09/busted/ in > the news " Dean Edwards’ DOMContentLoaded > <http://dean.edwards.name/weblog/2006/06/again/> " with FireFox 1.5 (or > 2.0 RC2) > > This bug only appears on the HEAD version because 0.3 version does not > seem to use DOMContentLoaded, and window.onLoad wait for images complete > loading. (which is bad for DOJO perf.) > > Ariel Falduto a écrit : > > Why this chunk of code freezes all mi firefox ??? > > > > anybody knows ... im currently trying to put some animated gif when > > this file is loading but nothings happen cos' firefox locks everyting > > =( > > > > what can i do ?? > > > > NOTE: the size of "tab3.html" is 1 mb > > > > <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" > > "http://www.w3.org/TR/html4/strict.dtd"> > > <html> > > <head> > > <script type="text/javascript"> > > var djConfig = {isDebug: true}; > > </script> > > <script type="text/javascript" > > src="scripts/dojo-0.3.1-ajax/dojo.js"></script> > > <script type="text/javascript"> > > dojo.require("dojo.widget.ContentPane"); > > > > function init() { > > var pane = dojo.widget.byId("Pane1"); > > var status = dojo.byId("status"); > > > > dojo.event.connect(dojo.byId("load"), "onclick", function(evt){ > > // load a new url into contentPane > > pane.setUrl("tab3.html"); > > }); > > > > dojo.event.connect(pane, "onDownloadStart", function(evt){ > > evt.preventDefault(); > > dojo.debug("Download started"); > > status.style.display = "block"; > > }); > > > > dojo.event.connect(pane, "onDownloadEnd", function(evt){ > > // not defaultPrevent()'able > > dojo.debug("Download finished"); > > status.style.display = "none" > > }); > > > > dojo.event.connect(pane, "onDownloadError", function(evt){ > > dojo.debug("Download error"); > > //evt.preventDefault(); // or > > evt.returnValue = false; > > status.style.display = "none"; > > }) > > } > > dojo.addOnLoad(init); > > </script> > > </head> > > <body> > > <div id="status" style="position: absolute; top: 400px; left: 400px; > > display: > > none; background-color:yellow;"> > > Downloading new content, please wait... > > </div> > > > > <a href="#" id="load">load some url into contentpane</a> > > > > <div dojoType="ContentPane" id="Pane1" style="border: 1px dotted > > gray;width: > > 200px; height:200px;"> > > Initial content in contentpane > > </div> > > </body> > > </html> > > _______________________________________________ > > Dojo FAQ: http://dojo.jot.com/FAQ > > Dojo Book: http://manual.dojotoolkit.org/DojoDotBook > > Dojo-interest@... > > http://dojotoolkit.org/mailman/listinfo/dojo-interest > > _______________________________________________ > Dojo FAQ: http://dojo.jot.com/FAQ > Dojo Book: http://manual.dojotoolkit.org/DojoDotBook > Dojo-interest@... > http://dojotoolkit.org/mailman/listinfo/dojo-interest Dojo FAQ: http://dojo.jot.com/FAQ Dojo Book: http://manual.dojotoolkit.org/DojoDotBook Dojo-interest@... http://dojotoolkit.org/mailman/listinfo/dojo-interest |
|
|
Re: Locks on firefoxI opened a bug entry in Dojo bug tracker : #1640
Fredrik Johansson a écrit : > Thank you Arnaud ! > > Very descriptive, I did'nt know that. > > / Fredrik > > torsdag 12 oktober 2006 08:25 skrev Arnaud Andrillon: > >> I think I have same problem : >> >> Browser : Firefox 1.5 (config : default [keep-alive activated, >> network.http.max-persistent-connections-per-server : 2]) >> DOJO version : HEAD [10-11-06] >> >> Using a synchronous XMLHttpRequest while loading a big enough document ( >> greater than 65536 bytes) create a dead-lock : >> FF wait for server response for its XMLHttpRequest and the server waits >> for FF to read the content (document data) >> >> This code helps to reproduce the bug >> <html> >> <head> >> <script src="dojo/dojo.js.uncompressed.js"></script> >> <script> >> function docLoaded() { >> var http = dojo.hostenv.getXmlhttpObject(); >> http.open('GET',"document.xml", false); >> >> alert("Calling sync XMLHttpRequest - it's gonna freeze ..."); >> http.send(null); >> alert("Well, i guess they've fixed it, response (first fragment ) is " + >> http.responseText.substring(0, 255)); >> } >> >> if (document.addEventListener) >> document.addEventListener("DOMContentLoaded", docLoaded, false); >> >> </script> >> </head> >> <body> >> <img src="img/Sunset.jpg" width="100" /> >> <img src="img/Sunset1.jpg" width="100" /> >> <img src="img/Sunset2.jpg" width="100" /> >> <img src="img/Sunset3.jpg" width="100" /> >> <img src="img/Sunset4.jpg" width="100" /> >> </body> >> </html> >> >> This is not a DOJO problem, but you can reproduce this problem with DOJO : >> DOJO loads "required JS files" (and HTML templates) synchronously, >> >> Ex : >> Try to load an HTML page (using dojo) with 2 images (the number >> corresponds to the number of persistent connections allowed by firefox) >> whom size are greater than 65536 bytes >> (because FF loads 64Kb before allowing the server to send other >> response) , you will freeze FF >> >> Other example on Dean Edwards Blog : >> Try to open the link http://dean.edwards.name/weblog/2005/09/busted/ in >> the news " Dean Edwards’ DOMContentLoaded >> <http://dean.edwards.name/weblog/2006/06/again/> " with FireFox 1.5 (or >> 2.0 RC2) >> >> This bug only appears on the HEAD version because 0.3 version does not >> seem to use DOMContentLoaded, and window.onLoad wait for images complete >> loading. (which is bad for DOJO perf.) >> >> Ariel Falduto a écrit : >> >>> Why this chunk of code freezes all mi firefox ??? >>> >>> anybody knows ... im currently trying to put some animated gif when >>> this file is loading but nothings happen cos' firefox locks everyting >>> =( >>> >>> what can i do ?? >>> >>> NOTE: the size of "tab3.html" is 1 mb >>> >>> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" >>> "http://www.w3.org/TR/html4/strict.dtd"> >>> <html> >>> <head> >>> <script type="text/javascript"> >>> var djConfig = {isDebug: true}; >>> </script> >>> <script type="text/javascript" >>> src="scripts/dojo-0.3.1-ajax/dojo.js"></script> >>> <script type="text/javascript"> >>> dojo.require("dojo.widget.ContentPane"); >>> >>> function init() { >>> var pane = dojo.widget.byId("Pane1"); >>> var status = dojo.byId("status"); >>> >>> dojo.event.connect(dojo.byId("load"), "onclick", function(evt){ >>> // load a new url into contentPane >>> pane.setUrl("tab3.html"); >>> }); >>> >>> dojo.event.connect(pane, "onDownloadStart", function(evt){ >>> evt.preventDefault(); >>> dojo.debug("Download started"); >>> status.style.display = "block"; >>> }); >>> >>> dojo.event.connect(pane, "onDownloadEnd", function(evt){ >>> // not defaultPrevent()'able >>> dojo.debug("Download finished"); >>> status.style.display = "none" >>> }); >>> >>> dojo.event.connect(pane, "onDownloadError", function(evt){ >>> dojo.debug("Download error"); >>> //evt.preventDefault(); // or >>> evt.returnValue = false; >>> status.style.display = "none"; >>> }) >>> } >>> dojo.addOnLoad(init); >>> </script> >>> </head> >>> <body> >>> <div id="status" style="position: absolute; top: 400px; left: 400px; >>> display: >>> none; background-color:yellow;"> >>> Downloading new content, please wait... >>> </div> >>> >>> <a href="#" id="load">load some url into contentpane</a> >>> >>> <div dojoType="ContentPane" id="Pane1" style="border: 1px dotted >>> gray;width: >>> 200px; height:200px;"> >>> Initial content in contentpane >>> </div> >>> </body> >>> </html> >>> _______________________________________________ >>> Dojo FAQ: http://dojo.jot.com/FAQ >>> Dojo Book: http://manual.dojotoolkit.org/DojoDotBook >>> Dojo-interest@... >>> http://dojotoolkit.org/mailman/listinfo/dojo-interest >>> >> _______________________________________________ >> Dojo FAQ: http://dojo.jot.com/FAQ >> Dojo Book: http://manual.dojotoolkit.org/DojoDotBook >> Dojo-interest@... >> http://dojotoolkit.org/mailman/listinfo/dojo-interest >> > _______________________________________________ > Dojo FAQ: http://dojo.jot.com/FAQ > Dojo Book: http://manual.dojotoolkit.org/DojoDotBook > Dojo-interest@... > http://dojotoolkit.org/mailman/listinfo/dojo-interest > > _______________________________________________ Dojo FAQ: http://dojo.jot.com/FAQ Dojo Book: http://manual.dojotoolkit.org/DojoDotBook Dojo-interest@... http://dojotoolkit.org/mailman/listinfo/dojo-interest |
| Free embeddable forum powered by Nabble | Forum Help |