Tool, um Seite NN 4-tauglich zu machen
Mathias
- browser
0 Antje Hofmann0 Mathias0 Antje Hofmann0 Mathias0 Bernd Michna0 Markus Thomas0 Ad Hoc
0 axel
Hallo,
ich habe da ein paar nette dynamische Seiten programmiert. Alle HTML/ASP-Dateien sind W3C-konform nach XHTML 1.0 Strict (bis auf das target="_top"). Auch die eingebundene CSS-Datei ist fehlerfrei.
Im NN 6, MSIE 4/5 und Opera 5.11 sieht das alles recht gut aus. Nur der Navigator 4 muss natürlich wieder mal Probleme bereiten :-(
Scheinbar hat er Schwierigkeiten mit ineinander geschachtelten (absolut positionierten) DIVs.
Ich kann den Fehler nicht beheben und habe jetzt versucht, die bestehende Seite im Dreamweaver oder Frontpage zu öffnen (nein - mit sowas arbeite ich sonst gar nicht!) und "NN 4-tauglich" wieder abzuspeichern. Das ist aber so nicht möglich.
Kennt jemand einen anderen Weg (außer einen Virus zu programmieren, der blitzschnell alle NN 4 auf dieser Welt unwiederruflich löscht - die Idee hatte ich auch schon)?
MfG Mathias
PS: Für letztere Aktion sammle ich bereits Geld ... aber wenn ich nicht schnell genug bin, dann wird sich das Thema wohl von selbst erledigen ;-)
Hallo Mathias
kein Tool der Welt kann dir da helfen. Lediglich Erfahrung.
Im NN 6, MSIE 4/5 und Opera 5.11 sieht das alles recht gut aus. Nur der Navigator 4 muss natürlich wieder mal Probleme bereiten :-(
Scheinbar hat er Schwierigkeiten mit ineinander geschachtelten (absolut positionierten) DIVs.
Jaein, das kann er schon. Dein Fehler, so denke ich sind diese Angaben:
div.marker {position: absolute; height: 20px; font-weight: bold; font-size: 13px; border-left: 2px solid black; border-bottom: 2px solid black; text-align: right}
<div class="marker" style="left: 131px; top: 191px; width: 270px; border-color: #ffffff;"></div>
Ich tippe darauf, dass die interne Styleangabe die Klassenangabe überschreibt. Definiere Identifizierer in deiner CSS, welche die jeweilige Position festlegen.
Noch ein Tip: Gehe mal im Netscape auf Seiteninformation anzeigen. Da siehst du, dass der NN deine absolut positionierten Layer nicht als Layer erkennt.
Kennt jemand einen anderen Weg (außer einen Virus zu programmieren, der blitzschnell alle NN 4 auf dieser Welt unwiederruflich löscht - die Idee hatte ich auch schon)?
Ganz so fürchterlich muß es nicht sein. Beim Debuggungen schlägt der NN die anderen um Längen.
Viele Grüße
Antje
Hallo Antje,
daran kann es nicht liegen, denn wenn ich anstatt
<div class="marker" style="left: 131px; top: 191px; width: 270px; border-color: #ffffff;"></div>
die Zeile
<div style="position: absolute;">Hallo</div> schreibe, dann passiert das gleiche: Alle weiteren Elemente auf der Seite werden falsch positioniert und laden am linken Rand.
Außerdem müssen die "style"-Angaben doch immer zusätzlich zu den Daten aus der externen Stylesheet gelten. Nur wenn ein Wert sowohl in der exernen Datei als auch in der "style"-Angabe steht, dann überschreibet letzterer Wert den ersten. Das dürfte ja hier dem Navigator nichts ausmachen.
In der Struktur werden nur die DIVs der ersten Ebene erkannt. Warum?
MfG
Mathias
Hallo Mathias,
<div style="position: absolute;">Hallo</div> schreibe, dann passiert das gleiche: Alle weiteren Elemente auf der Seite werden falsch positioniert und laden am linken Rand.
natürlich, da steht ja auch das böse Wort style drin. Das muß verschwinden.
Diese Angaben positionieren den Div dahin wo er hingehört.
#m1 {left: 231px; top: 56px; width: 170px; border-color: #ffffff;}
<div class="marker" id="m1" ></div>
Außerdem müssen die "style"-Angaben doch immer zusätzlich zu den Daten aus der externen Stylesheet gelten. Nur wenn ein Wert sowohl in der exernen Datei als auch in der "style"-Angabe steht, dann überschreibet letzterer Wert den ersten. Das dürfte ja hier dem Navigator nichts ausmachen.
Theoretisch ja, praktisch nein.
Generell gilt im NN 4 der praktische Grundsatz: Interne Styleangaben sollten vermieden werden und alles über Klassen und Identifizierer positioniert werden.
In der Struktur werden nur die DIVs der ersten Ebene erkannt. Warum?
Weil er die css-Klassendefinition vergessen hat. Warum sonst.
Mal noch ein paar kleine Hinweise:
Eingangs sagte ich, dir hilft hier nur Erfahrung. Du hättest davon ausgehen können, dass ich wußte wo das Problem lag und vernünftig ausprobieren.
Grau ist jede Theorie in der Praxis. Seiten schreibt man für Menschen und nicht für Standards. An Leute mit alten Browsern etc. hast du scheinbar gar nicht gedacht. Auch nicht an Leute die ohne JavaScript oder mit abgeschalteter CSS unterwegs sind.
Für diese ist deine Seite nahezu unlesbar. Da du das Scrollen im Frame abgeschaltet hast.
Kleinere Fenster kann man deshalb auch vergessen. Da sieht man nur die Hälfte.
Mein Prädikat für diese Seite:
"Das Ergebnis eines Programmierers der in sich und seinem Können selbstverliebt ist. Für andere wertlos."
Sorry für die harten Worte, ich äußere so was ausgesprochen selten. Jedoch kann ich es nicht ausstehen, wenn über die Technik vergessen wird, für wen man Seiten schreibt.
Viele Grüße
Antje
Hallo Antje,
jetzt gibt es da schonmal Leute, die sich hinsetzen und Standards definieren. Seit 1998 gibt es den HTML 4-Standard. Jahrelang haben Netscape-Progammierer über diese Vorgaben hinweggeschaut und es nicht geschafft, die Befehle zu implementieren.
Ich als Programmierer bin doch auf eine vernünftige Basis angewiesen. Es kann doch nicht sein, dass man jeglichen Code auf x verschiedenen Browsern und Plattformen testen muss, obwohl sich die Programmierung streng an die Standards hält. (Kein Kunde bezahl mir die Zeit dafür.)
Das hat man ja jetzt wohl auch bei den Browser-Herstellern erkannt. Mittlerweile gibt es Browser für alle Betriebssysteme, die gute Ergebnisse liefern.
Leute, updated eure Browser!
1. Browser sind kostenlos zu bekommen.
2. Auch der Download kostet nur ein paar Pfennige (Opera ist nur 2 MB groß)
3. Es gibt genügend Alternativen zu Microsoft.
Ohne "Mißgeburten" wie den NN4 würde es Programmieren und Nutzern wahrscheinlich viel besser gehen. Der Programmierer macht eine ordentliche Version, die überall läuft ... der Nutzer wird nicht auf Seiten verschlagen, die sein Browser nicht anzeigen kann. Vielleicht sollte ich doch auf diesen Virus zurückkommen ;-)
MfG Mathias
Hallo Matthias,
Ich als Programmierer bin doch auf eine vernünftige Basis angewiesen. Es kann doch nicht sein, dass man jeglichen Code auf x verschiedenen Browsern und Plattformen testen muss, obwohl sich die Programmierung streng an die Standards hält. (Kein Kunde bezahl mir die Zeit dafür.)
Tja, dies ist halt momentan (leider) noch die Realität, solange noch eine gewisse Anzahl potentieller Besucher der Seiten mit älteren Browsern unterwegs sind, kommst du daran nicht vorbei.
Das hat man ja jetzt wohl auch bei den Browser-Herstellern erkannt. Mittlerweile gibt es Browser für alle Betriebssysteme, die gute Ergebnisse liefern.
Und genau diese Browser kannst du bei "Otto-Normal-Surfern" eben nicht voraussetzen! Diese Leute lesen in der Regel nicht die PC-Pro, Internetworld und wie sie alle heißen. Diese Leute haben nicht jeden Monat ne CD mit dem hyperaktuellsten Browser in Ihrer Zeitung. Diese Leute lesen eher TV-Spielfilm, HörZu, etc. und solange dort gelegentlich auf CD's die T-Online Software drauf ist zusammen mit nem 4.x Netscape, das ganze noch ordentlich verpackt als "total easy in Netz der Netze zu kommen" nehmen die Leute das.
Denen ist aus den Medien eher geläufig, daß Javascript gefährlich und Cookies was gaaaanz böses ist, sie wissen jedoch sicherliche nicht, daß die neueste Browserversion 6.1.0.5.3.7 heißt und das "allein glücklich machende Surf-Erlebniss" verspricht.
Das ist nun mal der (traurige) Stand der Dinge, auch wenn man als Programmierer es manchmal nicht wahrhaben will.
Wie Antje schon sagte: denke daran für wen du Seiten schreibst!
Viele Grüße
Bernd
Hallo!
Leute, updated eure Browser!
- Browser sind kostenlos zu bekommen.
- Auch der Download kostet nur ein paar Pfennige (Opera ist nur 2 MB groß)
- Es gibt genügend Alternativen zu Microsoft.
Ich sitz hier an der Uni - NC 4.06 und nix IE, nix Opera weit und breit. Ich bin da auf den NC angewiesen, leider.
Ohne "Mißgeburten" wie den NN4 [...]
Die hier gängige Bezeichnung lautet http://www.gso-koeln.de/simon/self/lexikon.htm#programmiertechnische_fehlgeburt.
Gruß Markus
hi!
jetzt gibt es da schonmal Leute, die sich hinsetzen und Standards definieren.
diese armen leute ;)
Seit 1998 gibt es den HTML 4-Standard. Jahrelang haben Netscape-Progammierer über diese Vorgaben hinweggeschaut und es nicht geschafft, die Befehle zu implementieren.
andre auch nicht, btw.
Ich als Programmierer bin doch auf eine vernünftige Basis angewiesen.
wieso? sagt wer? wie kommst du darauf? der satz entspricht nur einer "ich wills möglichst bequem" haltung.
Es kann doch nicht sein, dass man jeglichen Code auf x verschiedenen Browsern und Plattformen testen muss, obwohl sich die Programmierung streng an die Standards hält.
ungut, aber fakt. kleiner hinkender vergleich: ein golfspieler muss sich auch mit jedem neuen schläger einspielen, obwohl doch alle zum golfspielen da sind.
(Kein Kunde bezahl mir die Zeit dafür.)
dochdoch. kläre sie entsprechend auf, warum mehr zeit/aufwand nötig ist, dafür aber mehr und mehr leute erreicht werden können. meiner erfahrung nach kapieren das die meisten kunden durchaus schnell.
Das hat man ja jetzt wohl auch bei den Browser-Herstellern erkannt. Mittlerweile gibt es Browser für alle Betriebssysteme, die gute Ergebnisse liefern.
die browser gibts vielleicht (bezweifle ich allerdings), aber nicht die leute, die sie verwenden
Leute, updated eure Browser!
kannst du rufen, nur es hört niemand. ältere browser - speziell der ns4.x werden noch auf jahre hinweis benutzt werden.
dazu kommen noch "gefilde" wie firmen und universitäten, die ihre browser absichtlich abspecken (kein css, kein js, kein flash, keine plugins,...)
- Browser sind kostenlos zu bekommen.
und wie lang noch?
- Auch der Download kostet nur ein paar Pfennige (Opera ist nur 2 MB groß)
wer kennt denn opera?
- Es gibt genügend Alternativen zu Microsoft.
einzig netscape ist im bewußtsein der leute. und den finden inzw. viel zu viele schrott.
Ohne "Mißgeburten" wie den NN4 würde es Programmieren und Nutzern wahrscheinlich viel besser gehen.
auch ohne fehlerkorrekturapparate wie der IE...
bye ad hoc
'Morgen Mathias,
Im NN 6, MSIE 4/5 und Opera 5.11 sieht das alles recht gut aus. Nur der Navigator 4 muss natürlich wieder mal Probleme bereiten :-(
Scheinbar hat er Schwierigkeiten mit ineinander geschachtelten (absolut positionierten) DIVs.
In Selfhtml wird folgendes Konstrukt zum Positionieren von Layern verwendet (http://www.teamone.de/selfhtml/tfcb.htm):
<div id="..." style="...">
<layer id="..." width=... ...>
Inhalt Layer
</layer>
</div>
Das funktioniert auch beim Netscape 4.x und hilft Dir vielleicht weiter.
*grüß*
axel