Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[CSS][JS] 1e beeld div verandering niet correct in FF

Pagina: 1
Acties:

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Ik zit met een opmerkelijk "handicapt" probleem in FF.
Het gaat om niet correct tekenen van div box dat dynamisch is gewijzigd via Javascript (Alternatieve Ajax).

Even een voorbeeld:
Afbeeldingslocatie: http://mrdummy.net/zooi/got/cal-css-1st.png
Je ziet hier geen goede opbouw van box terwijl de hoogte wel klopt, maar een stuk is hier toch nog vergeten te tekenen in FF.

Afbeeldingslocatie: http://mrdummy.net/zooi/got/cal-css-2st.png
Pas bij volgende oproep box is height hetzelfde gebleven en dan wordt het wel correct weergegeven als een complete box.

De probleem is niet aanwezig in IE. Daar werkt het meteen goed bij eerste oproep box.
Het leek wel buffertje probleem in FF. Het is beetje slordig beeld.
Hoe zal ik het beste aanpakken zodat bij eerste keer gelijk goed gaat? Beetje buffer van FF doorflushen zodat nieuwe CSS waarden erin komt te staan en alles correct weergeeft?

Wat zou de eenvoudige oplossing zijn zonder hele pagina of popup box te reloaden?
Je mag het zeggen als deze probleem ook bekend is voor jouw.

  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Als je niet weet hoe je fout kan reproduceren:

- maak een vaste popup venster met aantal divs erin, met vooraf bepaalde height rondom buitenste div
- hide deze geheel met display=none
- ergens in de site na klik wordt ajax functie opgeroepen die tekst in de 1 van de divs gooit, en tegelijk height van buitenste div aanpast (groter meestal) als er veel tekst erin gaat via innerHTML.
- maak nu de popup venster zichtbaar via display=block

Als het goed is zal deze popup incorrect weergegeven worden in Firefox (2.0) omdat deel niet getekend is op de browser. Er zit dan een gapend gat in, maar de onderkant van popup venster is wel te zien waar einde height is. Je zou eigenlijk een netjes getekend box moeten hebben, maar dat gebeurt niet nadat height dynamisch is veranderd via javascript / ajax en getoond wordt op de brower.

Het valt op dat FF wat laat de nieuwe CSS height waarde oppakt voor de popup venster én tekent. Pas bij volgende dynamische aanpassing maar met zelfde height zou de box weer correct weergegeven worden. Verandert de height opnieuw, dan gaat het weer mis bij eerstvolgende vertoning.

De probleem is niet aanwezig is IE. IE reageert goed op nieuwe height en tekent meteen hele box goed.
Hierdoor ben ik benieuwd of er een eenvoudige oplossing bestaat om FF meer te laten forceren om box geheel te tekenen, of dat ie met paar commandos wel meteen correct tekent met nieuwe height.
Het is niet netjes om gebroken boxen te zien aan de publiek, dat lijkt wel foutje van mij, terwijl dat eigenlijk aan FF probleem ligt.

EDIT: Het is een renderprobleem in FF. Zodra ik buitenkant van FF browser pakt en resize, dan merk ik dat FF daarna wel correct rendert/ververst.

[ Voor 4% gewijzigd door MrDummy op 17-10-2007 16:38 ]


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 09:00

Sebazzz

3dp

Kan je niet bij iedere keer dat je een box tekent hem een keer hiden en weer laten zien, dus emuleren dat er al een keer geklikt is?

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]


  • MrDummy
  • Registratie: April 2000
  • Laatst online: 25-07 12:00

MrDummy

Nog steeds gek op anime...

Topicstarter
Ik heb intussen klein oplossing toegepast door hele box met 1 pixel te verplaatsen naar rechts. Dit zorgt ervoor dat Firefox hele box opnieuw moet renderen en dat gaat wel goed. Niet super idee, maar de klant heeft weinig probleem mee en het staat nog steeds naast de juiste dag. Het is manier om FF te forceren om box goed te renderen.
The Triad schreef op woensdag 17 oktober 2007 @ 16:38:
Kan je niet bij iedere keer dat je een box tekent hem een keer hiden en weer laten zien, dus emuleren dat er al een keer geklikt is?
Zolang box er nog staat is alleen hide/show niet genoeg. Misschien met vertraging ertussen, maar onmiddelijk achter elkaar geeft FF geen kik. Ik ga niet verder gaan met hide/show, want flikkerende box is juist irritanter dan box dat heel klein beetje opzij gaat.

Mijn vraag is nu voor jouw: heb je inderdaad ook zelf last van FF renderfouten?

[ Voor 38% gewijzigd door MrDummy op 18-10-2007 12:59 ]


  • Sebazzz
  • Registratie: September 2006
  • Laatst online: 09:00

Sebazzz

3dp

Mijn vraag is nu voor jouw: heb je inderdaad ook zelf last van FF renderfouten?
Niet echt nee. Tot nu toe heb ik nog niet last ervan gehad, ik heb tijdens het designen wel altijd in drie webbrowsers getest, maar geen renderfouten ontdekt in Firefox. Maar ik heb ook nog niet echt gewerkt met exotische javascript, alleen maar wat simpel AJAX.

Maar waarschijnlijk gaat dat voor jou ook binnenkort veranderen, Firefox 3 komt uit met Gecko 1.9 en als rendering engine Cairo. Ik denk dat als een browser door de Acid2 test heenkomt, dat ie toch niet zulke renderfouten kan hebben? Toch zal ik je aanraden om deze bug aan te melden in het Mozilla bugprogramma Bugzilla. Deze kan je vinden op http://bugzilla.mozilla.org als ik niet fout hebt. Je zal hiermee de Firefox ontwikkelaars, mensen die ontwikkelen voor/met Firefox en ook de gebruikers een deugd doen ;)

[Te koop: 3D printers] [Website] Agile tools: [Return: retrospectives] [Pokertime: planning poker]