Darstellungsfehler
Christian
- dhtml
0 Michael Weber0 Christian0 Michael Weber0 GraveDigga0 Christian
0 Christian
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?
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)
[...]
<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.
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.
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>
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
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
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
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
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
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
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