Christian: Darstellungsfehler

Ich habe ein Problem im Netscape 4.x. Bei ca 20 Testaufrufen
kommt es ca 5 mal vor, daß Netscape mir verweigert eine komplette Tabelle
anzuzeigen. sobald ich mit einem anderen Fenster über diese leere Stelle
"rübergewischt" habe, ist die darstellung korrekt.
In jeglichen anderen gängigen Browsern trat das Problem nicht auf. Mögliche
Fehlerquellen, die mir in den Sinn gekommen sind: Frameset(11 Frames), CSS,
Layer...
habe bereits einen eher unschönen workaround, indem ich die tabelle in ein
div tag gesetzt habe. kennt jemand eine bessere möglichkeit beziehungsweise
die genaue ursache des Problems?

  1. Also bei elf Frames brauch sich glaube ich keiner Wundern, dass da die Browser etwas Murks machen.

    Wenn Du allerdings die Seite angeben könntest bzw. den Quelltext könnte man Dir vielleicht sogar helfen! :o)

    Grüsse,
    Michael

    [...]

    Fehlerquellen, die mir in den Sinn gekommen sind: Frameset(11 Frames)

    [...]

    1. <table cellpadding="0" cellspacing="0" border="0" width="118" align="left">
        <tr>
         <td rowspan="2" width="20"> </td>
         <td height="300"> </td>
        </tr>
       </table>

      <!-- Haupttext -->
       <table cellpadding="0" cellspacing="0" border="0" align="left">
        <tr>
         <td width="10" rowspan="4"> </td>
         <td height="20" colspan="2"> </td>
        </tr>
         <tr>
         <td colspan="2" width="223"><img src="pics/headlineunternehmen.gif" width="207" height="36" alt="" border="0"></td>
        </tr>
        <tr>
         <td width="50"> </td>
         <td width="310" height="315" valign="top" class="text">
         <!-- Inhalt -->
         TextTextTextTextTextTextTextTextTextTextTextText
                              TextTextTextTextTextTextTextTextTextTextTextText
         <br><br>
         TextTextTextTextTextTextTextTextTextTextTextText
                              TextTextTextTextTextTextTextTextTextTextTextText
         <img src="pics/punkte.gif" width="51" height="5" alt="" border="0" align="right">
         </td>
        </tr>
       </table>

      So, das sind die beiden widerspenstigen Tabellen. Ich hab bei 1000fachem
      durchsehen immer noch nicht den kleinen miesen Käfer entdecken können, aber
      ich glaube ich betrachte das ganze auch nicht mehr mit der benötigten
      Objektivität :-)

      Die fehlerursache, daß es an relativen Angaben liegen könnte, habe ich
      übrigens ausgeschlossen.

      1. Hmm, also auf den ersten Blick finde ich auch nichts.

        Auf den zweiten stellt sich mir die Frage wozu Du die erste Tabelle überhaupt brauchst.
        Würden es da nicht auch ein paar Zeileneinrücker tun?

        Bei der zweiten ist glaube ich ein Fehler.
        Und zwar hast Du im ersten tr insgesamt drei Spalten allerdings in den nächsten Zeilen immer nur zwei Spalten.
        Der Netscape pfuscht da manchmal etwas glaube ich, aber ein wirkliches Problem so wie Du es geschildert hast sollte es glaube ich nicht hervorrrufen.

        Grüsse,
        MW

        <table cellpadding="0" cellspacing="0" border="0" width="118" align="left">
          <tr>
           <td rowspan="2" width="20"> </td>
           <td height="300"> </td>
          </tr>
        </table>

        <!-- Haupttext -->
        <table cellpadding="0" cellspacing="0" border="0" align="left">
          <tr>
           <td width="10" rowspan="4"> </td>
           <td height="20" colspan="2"> </td>
          </tr>
           <tr>
           <td colspan="2" width="223"><img src="pics/headlineunternehmen.gif" width="207" height="36" alt="" border="0"></td>
          </tr>
          <tr>
           <td width="50"> </td>
           <td width="310" height="315" valign="top" class="text">
           <!-- Inhalt -->
           TextTextTextTextTextTextTextTextTextTextTextText
                                TextTextTextTextTextTextTextTextTextTextTextText
           <br><br>
           TextTextTextTextTextTextTextTextTextTextTextText
                                TextTextTextTextTextTextTextTextTextTextTextText
           <img src="pics/punkte.gif" width="51" height="5" alt="" border="0" align="right">
           </td>
          </tr>
        </table>

        So, das sind die beiden widerspenstigen Tabellen. Ich hab bei 1000fachem
        durchsehen immer noch nicht den kleinen miesen Käfer entdecken können, aber
        ich glaube ich betrachte das ganze auch nicht mehr mit der benötigten
        Objektivität :-)

        Die fehlerursache, daß es an relativen Angaben liegen könnte, habe ich
        übrigens ausgeschlossen.

        1. Laut Macromedia Dreamweaver 4.0(Der GENIALSTE WYSIWYG-Editor)
          gibt es im Netscape einen Bug, bei dem der Bildschirm nicht mehr korrekt angezeigt wird. --> füg das im <head>-Block ein!
          schreib obs geklappt hat!

          <script language="JavaScript">
          <!--
          function MM_reloadPage(init) {  //reloads the window if Nav4 resized
            if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
              document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
            else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
          }
          MM_reloadPage(true);
          // -->
          </script>

          1. Okay, als Übergangslösung ist das schon gar nicht so schlecht.
            Dadurch hat sich die Quote des Auftretens schon mal drastisach gesenkt
            (1 Testlauf á 50 Klicks ergab "nur" 2 negative Ergebnisse)

            vielen Dank,
            Christian

            1. is ganz einfach: sobald du einen Browser mit appName Netscape und appVersion 4 verwendest (Netscape 4.x oder auch höher) tritt bei jedem onresize-Event(Browser-Resizen oder Refreshen) ein Neuladen des Dokuments auf.

              reicht das??

              bitteschön

          2. Laut Macromedia Dreamweaver 4.0(Der GENIALSTE WYSIWYG-Editor)
            gibt es im Netscape einen Bug, bei dem der Bildschirm nicht mehr korrekt angezeigt wird. --> füg das im <head>-Block ein!
            schreib obs geklappt hat!

            <script language="JavaScript">
            <!--
            function MM_reloadPage(init) {  //reloads the window if Nav4 resized
              if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
                document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
              else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
            }
            MM_reloadPage(true);
            // -->
            </script>

            so, nu hab ich mich mal kurz rangemacht die Methode mal a bisserl zu analysieren und jetzt mir
            einiges leider noch unklar. Im Grunde genommen werden sich ja nur die browser abmasse gemerkt
            und bei resize verglichen mit den derzeitigen abmaßen des browsers. wenn sich was geändert hat,
            was ja eigentlich erfüllt sein muss (Funktionsaufruf onresize) wird die Seite erneut geladen...

            tja, ich kann mir nicht wirklich erklären, ob das in diesem Kontext so sinnvoll ist diese
            Funktion zu verwenden...

            was mich allerdings verwundert ist, daß es dennoch eine besserung der ergebnisse gibt. kann mir
            das jemand eventuell noch mal schlüssig erklären?

            vielen dank,
            Christian

            1. Hallo Christian,

              <script language="JavaScript">
              <!--
              function MM_reloadPage(init) {  //reloads the window if Nav4 resized
                if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
                  document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
                else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
              }
              MM_reloadPage(true);
              // -->
              </script>

              Also erstmal ist dieser Code wieder mal MM typisch total aufgebläht. Aber am Ergebnis ändert es jedoch letztendlich nichts.

              Geh Mal auf die Seite von Thoma Meinike, der hat das gut erklärt und IMO auch das bessere Script: http://www.styleassistant.de/tips/tip35.htm

              Anmerken wollte ich noch, daß dieser Resize-Bug viel zu oft "mißbraucht" wird. Häufig werden die Seiten deshalb zerschossen, weil eben doch unsauber geschrieben wurde und da hilft diese Funktion eben auch nur bedingt, bzw. zwingt Deinem Besucher ständig das doch sehr unruhige "reloaden" auf.

              Viele Grüße aus Köln
              Markus

              1. Das Problem,
                welches durch diese (juhu WYSIWYG *gg*) MM... funktion gelöst wird, ist mir
                übrigens auch bekannt, alles ist es nicht der Fehler gewesen, der mir das Leben
                schwer gemacht hat. Für alle, die die(erfolgreiche)Lösung meines Problems
                wissen möchten: schaut mal bitte meinen letzten post an.. da habe ich es erklärt.

                trotzdem vielen dank

                christian

        2. Hmmmmmm.... naja, ich kanns ja erst mal noch mal mit weniger Frames probieren
          mal schauen, was dann wird.
          Die erste Tabelle ist quasi nur ein Platzhalter.

          okay, ärgern bringt nichts, der rechner macht schliesslich ausschliesslich(!)
          was der Programmierer ihm sagt -> fazit: weiter probieren :-)

          vielen Dank;
          Christian

  2. für alle, die es interessiert....

    Ich habe einen anderen (nicht unbedingt eleganten, aber stabilen) workaround
    gefunden. Ich habe über das Hauptframe einen layer gelegt (inhalt eine weisse
     gif), welcher nach dem laden auf hide gesetzt wird. dadurch wird ein repaint
    erzwungen und alles wird korrekt dargestellt.

    danke an alle, die sich an diesem thread beteiligt haben;
    Christian