Ik ben bezig met een file manager voor een cms en nou heb ik wat probleempjes met de tree in firefox. In principe werkt het gewoon goed en doet hij precies wat ik wil, maar zo af en toe vertoont firefox dan toch wat vreemd gedrag. Zo lijkt het alsof firefox bij het openen of sluiten van een map in de tree (wanneer dit voor het eerst gebeurd worden de elementen aangemaakt) soms niet de lay-out van elementen in de bovenliggende elementen aanpast. Zoals je bijvoorbeeld ziet worden af en toe de lijntjes niet geupdate wanneer er een map geopend wordt.
Nu heb ik wel een paar ideeën wat de oorzaak zou kunnen zijn maar ik snap niet helemaal waarom het daar nou fout gaat. Het lijkt namelijk vooral fout te gaan bij het aanmaken van de tree, dus wanneer er een map voor het eerst geopend wordt. Op dat moment worden er elementen aangemaakt op de juiste plaats in de tree en wordt dus de hoogte opgerekt. De bedoeling is dat cel met het lijntje erin links va de tree op dat moment wordt uitgerekt omdat deze een height van 100% heeft. Alleen op de een of andere manier wordt deze niet altijd uitgerekt op het moment dat dat zou moeten gebeuren?
Als je dan nog even verder klikt dan herstelt de lay-out zich weer en klopt alles ineens weer.
En dan is er nog een tweede probleem en dat is dat wanneer ik een folder sluit heel af en toe de ruimte die het stukje tree dat gesloten wordt in beslag nam gewoon blijft bestaan terwijl deze kleiner moet worden omdat de inhoud weg is.
Al met al komt het erop neer dat firefox af en toe wat steekjes laat hangen bij het renderen. En de enige manier die ik ken om dit op te lossen is om de html uit de body te pakken en deze opnieuw in de body te zetten zodat de browser gedwongen wordt om het opnieuw te renderen. Probleem hierbij is echter dat alle referenties vanuit mijn javascript objecten naar de html elementen op dat moment verdwijnen en in dit geval dus geen oplossing bied.
Zijn er mensen die hier ervaring mee hebben? zo ja dan zou enkele hulp zeer goed bruikbaar zijn.
Nu heb ik wel een paar ideeën wat de oorzaak zou kunnen zijn maar ik snap niet helemaal waarom het daar nou fout gaat. Het lijkt namelijk vooral fout te gaan bij het aanmaken van de tree, dus wanneer er een map voor het eerst geopend wordt. Op dat moment worden er elementen aangemaakt op de juiste plaats in de tree en wordt dus de hoogte opgerekt. De bedoeling is dat cel met het lijntje erin links va de tree op dat moment wordt uitgerekt omdat deze een height van 100% heeft. Alleen op de een of andere manier wordt deze niet altijd uitgerekt op het moment dat dat zou moeten gebeuren?
Als je dan nog even verder klikt dan herstelt de lay-out zich weer en klopt alles ineens weer.
En dan is er nog een tweede probleem en dat is dat wanneer ik een folder sluit heel af en toe de ruimte die het stukje tree dat gesloten wordt in beslag nam gewoon blijft bestaan terwijl deze kleiner moet worden omdat de inhoud weg is.
Al met al komt het erop neer dat firefox af en toe wat steekjes laat hangen bij het renderen. En de enige manier die ik ken om dit op te lossen is om de html uit de body te pakken en deze opnieuw in de body te zetten zodat de browser gedwongen wordt om het opnieuw te renderen. Probleem hierbij is echter dat alle referenties vanuit mijn javascript objecten naar de html elementen op dat moment verdwijnen en in dit geval dus geen oplossing bied.
Zijn er mensen die hier ervaring mee hebben? zo ja dan zou enkele hulp zeer goed bruikbaar zijn.
[ Voor 3% gewijzigd door Verwijderd op 22-07-2006 17:44 ]