Hans Wurst: FireFox 1.xx und 2.xx Bug? Komische Sache...

Hallo @all,
wir entwickeln gerade ein "Kassen-Bereich" (Checkout) für einen Kunden, und mir ist dabei ein merkwürdiger Fehler aufgefallen.

Fehler reproduzierbar mit FireFox 1.xx und 2.xx

Screenshot 1 zeigt die Bezahlmethode und die Versandart, vorselektiert ist "Nachnahme", wenn man jetzt auf "Kreditkarte" (Screenshot 2) klickt, öffnet sich das Div, und ein iFrame (noch nicht implementiert) mit dem Payment-Service wird gezeigt, soweit so gut.

Wenn man jetzt wieder auf "Nachnahme" klickt, wird das Div wieder zugeklappt und man sieht das alles zerschossen ist (Screenshot 3).

Nun, wenn man jetzt Firebug öffnen, oder die Sidebar (STRG + B) oder wenn man das Fenster bisschen verkleinert/vergrößert ist alles wieder gut (Screenshot 1).

Ist das ein Bug?

PS: Das Problem lässt sich lösen, in dem man

document.body.style.display = "none"; und  
setTimeout('document.body.style.display = ""', 0)

ausführt, aber trotzdem würde mich Interessieren warum das so ist.

Danke!

  1. Hi,

    Fehler reproduzierbar mit FireFox 1.xx und 2.xx

    Ersterer wird im Museum neben den Dino-Skeletten ausgestellt, und auch zweiterer wird langsam irrelevant.

    Wenn man jetzt wieder auf "Nachnahme" klickt, wird das Div wieder zugeklappt und man sieht das alles zerschossen ist (Screenshot 3).

    Wie geschieht das zuklappen?

    PS: Das Problem lässt sich lösen, in dem man

    document.body.style.display = "none"; und

    setTimeout('document.body.style.display = ""', 0)

    
    > ausführt  
      
    Das erzwingt auf sehr radikale Weise einen "Repaint" bzw. "Reflow".  
    Opera hat(te) teilweise auch ähnliche Bugs, wo Änderungen an Sichtbarkeit/Positionierung von Elementen die Anzeige vermurkst haben, bis man einen Repaint/Reflow erzwungen hat - wenn auch [etwas weniger radikal](/archiv/2005/9/t114613/#m731251).  
      
    Vom FF2 kenne ich ähnliches aus eigener Erfahrung beim Umhängen von TRs zwecks Sortierung einer Tabelle, dabei hat er die Breite der Zeilen vermurkst. Wenn die Zeile, die die grösste Breite erzwungen hat, umgehängt wurde, hat er die komplette Tabelle auf die Breite der nächstlängeren Zeile gesetzt, und danach nicht wieder hergestellt.  
      
    MfG ChrisB  
      
    
    -- 
    Light travels faster than sound - that's why most people appear bright until you hear them speak.
    
    1. @@ChrisB:

      nuqneH

      Ersterer wird im Museum neben den Dino-Skeletten ausgestellt

      Den muss ich glatt mal ankucken gehen. (Den 1.0er Fuchs, nicht den Dino.)

      Qapla'

      --
      Bildung lässt sich nicht downloaden. (Günther Jauch)
    2. Ersterer wird im Museum neben den Dino-Skeletten ausgestellt, und auch zweiterer wird langsam irrelevant.

      Ja schon, heißt aber nicht das ihn keiner Benutzt (leider!).

      Wie geschieht das zuklappen?

      Neue Höhe zuweisen, und die schattierung nachzeichnen.

      Das erzwingt auf sehr radikale Weise einen "Repaint" bzw. "Reflow".
      Opera hat(te) teilweise auch ähnliche Bugs, wo Änderungen an Sichtbarkeit/Positionierung von Elementen die Anzeige vermurkst haben, bis man einen Repaint/Reflow erzwungen hat - wenn auch etwas weniger radikal.

      Danke, werde das mal testen...