Patrick Andrieu: Und wer glaubt mir jetzt?

Mächtige Renderingprobleme mit Mozilla (Versionen 0.9.7 und 0.9.8)!...
... in manchen Fällen---> Auflösungabhängig?

Ja, glauben kann mir nur, wer das hier gesehen hat. Zum Glück bin ich heute nicht zu Hause, und somit nicht alleine, denn ansonsten würde ich sicher an meinem Verstand zweifeln und reif für die Klapse sein. Aber Renate und Emran, meine heutigen Gastgeber, können bestätigen, dass das, was ich jetzt berichten werde, wahr ist. Getrunken hat hier auch niemand.

Ob's an mir liegt?  Jedenfalls gelingt es mich immer wieder, Problemen zu begegnen, die andere nie haben - und folglich auch schwer glauben können. So war das seinerzeit mit "meinen" Bloksatzbugs (siehe Archiv: http://selfsuche.teamone.de/cgi-bin/such.pl?suchausdruck=Blocksatz&feld=alle&index_8=on&hits=alle). So auch heute mal wieder. Aber nun zum Problem!

Mozillaech! Mit einem Wisch ist alles wech! Denn so hätte ich meinen Beitrag auch betiteln können. Einmal mit der Maus über einen DIV drüber fahren, und dieser ist weg! Einfach so! Klickt man an einer anderen Stelle in der Seite, alles ist wieder am Platz! Sie brauchen keine Funktion vom Typ: onMouseover="document.getElementById('div-ID').style.visibility = 'hidden';" oder "visible" auf onClick ... Nein, sie brauchen dazu nur Mozilla!

Also, wer zu später Stunde im Chat anwesend ist, dass ich seit ein Paar Tagen über Probleme mit animierte Grafiken berichte, deren Umrisse auch dann durchschimmern, wenn der Layer, in welchem sie definiert sind, auf "hidden" gesetzt wurde. Egal, ob ich einen oder zwei oder drei Layer darüber legen, ob ich die z-indexe ins Unendliche zuweise,  die Umrisse des Ani-GIFs scheinen durch! Komischerweise tritt dieses Problem hier auf diesem PC *nicht* auf. Auch Einbecker konnte das vorgestern nur für eine Ani bestätigen, als ich im Chat fragte. Dafür ist das Problem auf meinem PC da und mächtig lästig.

Heute hatte ich eine Seite, die ich zu Hause erfolgreich getestet habe (das heißt, "nur" mit dem Problem, dass die Ani-GIF an einer Stelle trotz hidden durchschimmert *g* -sowohl 0.9.7 als 0.9.8), auf Renates PC kopiert (hier ist 0.9.7 drauf), um sie ihr zu zeigen. An einer Stelle der Seite steht dieser Code:

<!-- TOOLLEISTE -->
<div id="aetools" style="width:425px;position:absolute;top:85px;left:60px;">
  <div id="schrift0" style="position:absolute;padding:2px;top:0px;left:172px;text-align:center;">−</div>
  <div id="schrift1" style="position:absolute;padding:2px;width:15px;top:0px;left:187px;text-align:center;"><a href="#" onMouseover="yellowb.src='button-yellow2.gif';return true" onMouseout="yellowb.src='button-green.gif';return true" onClick="verkleinern();return false;"><img name="yellowb" src="button-yellow.gif" width="15" height="15" border="0" alt=""></a></div>
  <div id="schrift2" style="position:absolute;padding:2px;top:0px;left:207px;text-align:center;">|</div>
  <div id="schrift3" style="position:absolute;padding:2px;width:15px;top:0px;left:217px;text-align:center;"><a href="#" onClick="vergroessern();return false;">Das ist ein Test</a></div>
  <div id="schrift4" style="position:absolute;padding:2px;top:0px;left:237px;text-align:center;">+</div>
</div>
<!-- ENDE TOOLLEISTE -->

Stinknormale Mouseovers, die an anderer Stelle der Seite ebenfalls vorkommen - und dort auch funktionieren. Nur, ich kann hier nicht sagen, dass diese eben zitierten Mouseover "nicht" funktionieren.... aus einem einfachen Grund: der Mauszeiger wird noch nicht einmal zur Hand-Cursor! Der Zeiger bleibt stur ein Pointer. Nichts tut sich. Ich schaue im Code nach, vergleiche mit den anderen Mouseover, die gehen... keinen Fehler, kein " vergessen, auch kein ; ... Die Links sind keine Links! Wie gesagt, auf *meinem* PC daheim funzt die Sache mit  0.9.8.

Komisch. Dann wil ich diese Stelle markiere, und sobald ich über die Stelle mit gedrückter Maustaste drüberfahre ist alles verschwunden! Die zwei Buttons, das - und das + Zeichen, der waagrechte Strich | ... alles weg. Klicke ich irgendwo auf der Seite: alles wieder da! Echt zum bekloppt werden!

Der Beweis (hier habe ich den linken Button durch Text ersetzt):

<img src="http://www.atomic-eggs.com/temp/mozi1.gif" border=0 alt="">

Über einen Link sollte der Cursor eine Hand sein... oder, wenn es als Link nicht erkannt ist, sollte wenigstens die Einfügemarke erscheinen... aber hier tut sich nix.....

<img src="http://www.atomic-eggs.com/temp/mozi2.gif" border=0 alt="">

Mit der Maus und gedrückter Taste drüber... und wech! Auch wenn man z.B. das Fenster einer anderen Anwendung drüber schiebt, übrigens ;-)

Und jetzt kommt's: setze ich überall Rahmen um die verschiedenen DIV-Bereiche der Seite, gehts wieder...:

<img src="http://www.atomic-eggs.com/temp/mozi3.gif" border=0 alt="">

Das mit den Border erlaubte mir zu prüfen, ob sich ein Layer "unbemerkt" *g* vor dem mit den Buttons vorgeschoben hätte - bei den vielen DIVs, wäre das durchaus möglich... ist aber nicht der Fall.

Solele... so viel nur um zu sagen, dass es ein noch ein langer Weg bis zur Vollversion werden wird. Schade eigentlich, denn alle diese Rendering-Probleme, auch das, worüber ich in meinem letzten Beitrag berichtete (auch fehlerhaft gerenderte - nicht animierte - Grafiken) werfen ein schlechtes Licht auf einen ansonsten sehr überzeugenden Browser.

Grüße,
Patrick

  1. Hi Patrick,
    so weit ich weiss ist das zum Teil ein bug mit der Breite der Divs, also dass die zu breit werden, wenn man kein clipping und kein border angibt, sondern nur width. Dann schiebt sich in deinem beispiel der linke layer über den nächsten. Könnte sein dass man dem mit zindex auch zu Leibe rücken kann, also den rechtesten als den am weitesten im Vordergrund definieren.

    Aber das mit dem Verschwinden ist mir neu. Allerdings gibt es ja sowieso noch unzählige bugs das rendering betreffend; die ham sich in letzter zeit eher um die bedienoberfläche gekümmert.

    lg Spiff

    1. Hallo Spaceman!

      so weit ich weiss ist das zum Teil ein bug mit der Breite der Divs, also dass die zu breit werden, wenn man kein clipping und kein border angibt, sondern nur width. Dann schiebt sich in deinem beispiel der linke layer über den nächsten. Könnte sein dass man dem mit zindex auch zu Leibe rücken kann, also den rechtesten als den am weitesten im Vordergrund definieren.

      Ich sitzte mittlerweile wieder hier zu Hause an meinem gewohnten PC und dort tritt das Problem nicht auf :-)

      Wenn ich mit DIVs arbeite, setze ich immer einen Rahmen drum. Erst wenn mir das Ergebnis im Browser gefällt, mache ich diese wieder weg. SO kann ich ausschließen, dass sich DIVs überlagern, das ist hier auch nicht der Fall.

      Aber das mit dem Verschwinden ist mir neu.

      Wie gesagt, das Lustigste auf Renates PC war noch, dass wenn man das Fenster einer anderen Anwendung (z.B. Notepad) über den Bereich hin- und herschob, hatte es den gleichen Effekt wie mit gedrückter Maustaste drüber "wischen": es wirkte wie ein Radiergummi und die Buttons waren weg!

      Allerdings gibt es ja sowieso noch unzählige bugs das rendering betreffend; die ham sich in letzter zeit eher um die bedienoberfläche gekümmert.

      Wie gesagt, das Leben ist ein langer ruhiger Fluß, äh, die Wege des Browsers sind unergründlich, äh, die Würde des Drachens ist unbegreiflich, äh, oder so ;-)

      Grüße,
      Patrick
      P.S.: Übrigens, die -/+ -Buttons werden Dir bekannt vorkommen, wenn's fertig ist. Ich hoffe, Du hast nichts dagegen, dass ich die entsprechende Funktion von Dir abgeguckt und angepasst habe ;-)

  2. Prost, Patrick :p

    [...]

    Mozillaech! Mit einem Wisch ist alles wech! Denn so hätte ich meinen Beitrag auch betiteln können. Einmal mit der Maus über einen DIV drüber fahren, und dieser ist weg! Einfach so! Klickt man an einer anderen Stelle in der Seite, alles ist wieder am Platz! Sie brauchen keine Funktion vom Typ: onMouseover="document.getElementById('div-ID').style.visibility = 'hidden';" oder "visible" auf onClick ... Nein, sie brauchen dazu nur Mozilla!

    Das ist definitiv ein Mozilla-Bug, über den ich mich auf Chräckers Seite (http://www.stempelgeheimnis.de/) [1] gewundert habe. Vielleicht kannst du ihn dort auch auf deinem PC nachvollziehen. Ob's an der Auflösung liegt? Keine Ahnung - bin ich mit 1152*864 nicht standardkonform?

    LG Orlando

    [1] weiß doch jeder ;-)

    1. Hallo Orlando!

      Das ist definitiv ein Mozilla-Bug, über den ich mich auf Chräckers Seite (http://www.stempelgeheimnis.de/) [1] gewundert habe. Vielleicht kannst du ihn dort auch auf deinem PC nachvollziehen. Ob's an der Auflösung liegt? Keine Ahnung - bin ich mit 1152*864 nicht standardkonform?

      Nee, dort kann ich nur mit dem Tipp-Ex wegwischen ;-) Aber wie gesagt, ich bin jetzt daheim und der "Bug" trat auf meinem PC nicht auf. Sonntag bin ich wieder bei meinem Patenkind und werde Chräckers Seiten auf Renates PC besuchen. Sie hat einen TFT-Bildschirm und zwar 1024*768 wie ich hier, aber es gibt leichte Unterschiede zwischen 1024*768 auf einem TFT und auf einem normalen Monitor...

      Aber mittlerweile bereite ich einen neuen Beitrag vor (ich entwickle mich langsam zum Mozilla-Bug-Entdecker): Wie die Angabe einer DOCTYPE-Deklaration das Zentrieren eines DIVs mittels JavaScript beeinflußt! Aber das ist nicht alles: auf manchen Seiten wird es doch zentriert! Alle DOCTYPE-Seiten sind valide, die ohne DOCTYPE enthalten ansonsten exakt den gleichen Code.

      Tja, früher sagte man Netscape sucks, aber Mozilla ist immer noch weit entfernt, ein Browser zu sein. Und da Opera noch ein Stück weiter ist, bleibt immer nur den einen, der trotz manchmal fehlinterpretierten Standards (border bei DIVs, fixed unbekannt, usw...) am Ende fast alles macht, was man sich anhand der vorgegebenen Möglichkeiten ausgedacht hat.

      Grüße,
      Patrick,
      jetzt gespannt auf die Reaktionen ;)

      1. Hallo!

        jetzt gespannt auf die Reaktionen ;)

        Und die erste kommt von mir... Jaja, ich sagte schon im "Kopfnuß für Opera-Jünger" - Thread, dass ich keinerlei Scheu habe, eigene Fehler zuzugeben.

        Wie die Angabe einer DOCTYPE-Deklaration das Zentrieren eines DIVs mittels JavaScript beeinflußt!

        Tja, hätte ich IE 6 im Standards Compliant Mode anstatt "nur" IE 5.5 hätte der genauso reagiert... Und der Vali validiert ja nur den HTML-Code. Dass aber im JavaScript Fetzen von HTML-Code sind, ignoriert der Vali - ist ja auch ein HTML-Validierer und kein Prüf-nach-Fehlern-im-HTML-Code-im-JavaScript-Validierer.

        auf manchen Seiten wird es doch zentriert!

        Ja, weil auf manchen Seiten der JS-Code richtig war, auf den kritischen Seiten hatte ich die Funktion etwas geändert und einen Fehler eingebaut ;-)

        Es fehlten lediglich +"px" bei der Wert-Zuweisung:

        x=(f-b)/2+"px";
                 ^^^^^

        Klar: Ohne DOCTYPE-Deklaration ging es durch, wenn die Maßeinheit fehlte... Mit Doctype nicht, denn laut Specs sind Maßeinheiten erforderlich. Und ohne Maßeinheiten ist alles auf 0, also alles linksbündig statt zentriert!

        aber Mozilla ist immer noch weit entfernt, ein Browser zu sein.

        und ich davon, ein Profi zu sein ;-)

        Bis zum nächsten falschen Bug [1] ;-)

        Grüße,
        Euer Patrick

        [1] der mit dem Wisch & Weg aber ist noch da ;-)

      2. Hi, Patrick

        Das ist definitiv ein Mozilla-Bug, über den ich mich auf Chräckers Seite (http://www.stempelgeheimnis.de/) [1] gewundert habe. Vielleicht kannst du ihn dort auch auf deinem PC nachvollziehen. Ob's an der Auflösung liegt? Keine Ahnung - bin ich mit 1152*864 nicht standardkonform?

        Nee, dort kann ich nur mit dem Tipp-Ex wegwischen ;-) Aber wie gesagt, ich bin jetzt daheim und der "Bug" trat auf meinem PC nicht auf. Sonntag bin ich wieder bei meinem Patenkind und werde Chräckers Seiten auf Renates PC besuchen.

        Vielleicht ist das Phänomen, das bei meinem Mozilla auftritt nachvollziehbar: Wenn ich einmal stemple, ist alles in Ordnung. Beim zweiten Mal jedoch verschwindet der erste Abdruck. Beim dritten Mal die beiden ersten, usw. Erst wenn ich sie mit der Maus überfahre, werden sie wieder sichtbar. Wenn's nur das wäre -> </archiv/2002/1/2580/> :(

        Sie hat einen TFT-Bildschirm und zwar 1024*768 wie ich hier, aber es gibt leichte Unterschiede zwischen 1024*768 auf einem TFT und auf einem normalen Monitor...

        Die Verbraucherschützer werden ihre Arme über dem Kopf zusammenschlagen - die Hersteller verschweigen, dass ihre Monitore <div>'s nicht korrekt darstellen! *g*

        .... (ich entwickle mich langsam zum Mozilla-Bug-Entdecker) ...
        jetzt gespannt auf die Reaktionen ;)

        Das war knapp, ich habe die Mo(t)zer schon gehört ;-)

        LG Orlando