Voor een project waarin een back-end programma wordt gekoppeld aan een (D)HTML interface ben ik aan het experimenteren met een 'progress' bar die aangeeft waarmee het back-end programma bezig is.
Je kan zo'n DHTML programma in actie zien op http://elcheapo.nl. Het werkt door na de html + javascript code nog een aantal javascript functies 'na' te sturen.
Zo:
Nu blijkt dat dit niet goed werkt in Mozilla (ik heb 1.5). Mozilla rendert niet voordat de hele pagina geladen is. En dan worden doeIets() en doeIetsAnders() heel snel achter elkaar uitgevoerd.
Dit vond ik in http://www.mozilla.org/docs/url_load.html:
Ik heb een voorbeeld pagina op http://rotzorg.org/~sgr/dynamicstatus/. Dit is een perl script dat een pagina op het scherm zet en dan na 2 seconden de kleur van de titel rood moet maken, en daarna na 2 seconden de kleur blauw. Omdat de inhoud van de html nogal groot is toont Mozilla de 'gewone' zwarte versie van de titel. Even later wordt die blauw, want Mozilla wacht totdat rood + blauw geladen zijn.
Het zou een beetje vreemd zijn om in de wachtijd ook 8 KiB aan data te gaan meesturen om Mozilla te laten renderen; weten jullie misschien een beter idee?
-- edit
Oh, ik weet niet hoe het is in Internet Explorer. (ik zie namelijk mensen met zo'n browser in mijn logs.) Kan iemand feedback geven?
Je kan zo'n DHTML programma in actie zien op http://elcheapo.nl. Het werkt door na de html + javascript code nog een aantal javascript functies 'na' te sturen.
Zo:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
| <html> <head> <script type="text/javascript"> function doeIets() { .. } function doeIetsAnders() { .. } </script> <body> <bla> </body> </html> ... wacht even ... <script type="text/javascript"> doeIets(); </script> ... wacht even ... <script type="text/javascript"> doeIetsAnders(); </script> |
Nu blijkt dat dit niet goed werkt in Mozilla (ik heb 1.5). Mozilla rendert niet voordat de hele pagina geladen is. En dan worden doeIets() en doeIetsAnders() heel snel achter elkaar uitgevoerd.
Dit vond ik in http://www.mozilla.org/docs/url_load.html:
Het lijkt er dus op dat Mozilla wacht totdat hij 8 KiB aan data heeft voordat er iets gerenderd gaat worden.The parser typically gets data from the stream in 8kb blocks and parses these blocks, block by block. After every parsed block it passes the parsed data as nsIParserNodes to the ContentSink unless the parser has been temporarily blocked, in wich case it waits until it gets unblocked before parsing the cached data it has receieved while being blocked.
Ik heb een voorbeeld pagina op http://rotzorg.org/~sgr/dynamicstatus/. Dit is een perl script dat een pagina op het scherm zet en dan na 2 seconden de kleur van de titel rood moet maken, en daarna na 2 seconden de kleur blauw. Omdat de inhoud van de html nogal groot is toont Mozilla de 'gewone' zwarte versie van de titel. Even later wordt die blauw, want Mozilla wacht totdat rood + blauw geladen zijn.
Het zou een beetje vreemd zijn om in de wachtijd ook 8 KiB aan data te gaan meesturen om Mozilla te laten renderen; weten jullie misschien een beter idee?
-- edit
Oh, ik weet niet hoe het is in Internet Explorer. (ik zie namelijk mensen met zo'n browser in mijn logs.) Kan iemand feedback geven?
[ Voor 13% gewijzigd door Sendy op 07-01-2004 23:23 ]