Netscape bastelt sich seinen Absturz selber :(
Jens Menke
- browser
Hi
was sagt ihr eigentlich zu folgender Eigenart von Netscape , im Source-Code der HTML-Seite steht folgendes:
<TD width="10%" class="THeader">Bild</TD>
wenn man sich den Source im Netscape anschaut , so er
nicht gleich abschmiert steht da dann auf mal das :
<TD width="10%" class="THeader">Bild<
/TD>
so.. das ist für ihn denn ein nicht sauber geschlossener
Tag .. und er verabschiedte sich meist auch gleich.
Was sagen die Verfechter des sauberen Source-Codes dazu ?
Der Code ist sauber.. nur Netscape bastelt sich da selbst
unsauberen raus.. :(
gruss
Jens
Hallo Jens,
<TD width="10%" class="THeader">Bild<
/TD>
dieses Verhalten entsteht genau dann, wenn im Header mit document.write js-Dateien geschrieben und dann geladen werden.
Es hat mich mal ein ganzes Wochenende gekostet, dem auf die Spur zu kommen.
Ursache: der Navigator macht bei externen js-Dateien einen Zeilenumbruch und zwar so:
<script language="JavaScript" src="homepage.js" type="text/javascript">
<--diese Leerzeile fügt der Navi ein
</script>
beim normalen Einbinden stellt dies kein Problem dar. Schreibt man aber die Datei aber mittels document.write fügt der Navi genau dann die Leerzeile ein, wenn die js-Datei geladen wurde. Da hängt soweit ich weiß mit den internen Verarbeitungsmodus zusammen. Erwischt der Navi eine ungünstige Stelle zerschlägt es das Layout.
Das Problem: du kannst den Umbruchpunkt nicht genau bestimmen, da er abhängig von der Netzgeschwindigkeit und dem Clientrechner ist.
Abhilfe:
(1) eine js-Datei für alle Browser und auf document.write im Header verzichten
(2) Quelltext weit auseinanderschreiben, daß vermindert die Trefferwahrscheinlichkeit
(3) js-Datei für den Navi normal einbinden und für den ie über document.write. Bei gleichen Funktionsnamen sollte eigentlich die Navivariante überschrieben werden. Getestet habe ich das nicht, da ich Variante 1 bevorzuge.
Viele Grüße
Antje
dieses Verhalten entsteht genau dann, wenn im Header mit document.write js-Dateien geschrieben und dann geladen werden.
Hi .. also ein externes JavaScript wird bei mir nicht
über document.write eingebunden aber es werden ein paar
CSS Angaben via JS geschrieben , speziell eine Anweisung
für den Body-Tag die je nach Auflösung ein anders
Hintergrund-Bild einstellt.
<head>
<link rel=stylesheet type="text/css" href="../style/drizzt.css">
<script language="JavaScript" src="../scripts/setcss.js"></script>
<script language=JavaScript>
SetCSS();
</script>
</head>
Das kann ich ja leider nun nicht in den Body-Tag legen.
Mit der Geschwindigkeit stimmt übrigens auch .. mir
hatte heute wer gesagt das sich Netscape bei einer Seite
verabschiedet , lokal war sie bei mir OK , aber auf dem
Server hatte ich dann den Zeilenumbruch .
Grummel , kann ich wohl nur die Seiten immer wieder
online mit NC laden .. Quelltext anschauen.. und solange
Leerzeichen einfügen bis es OK ist.
Naja.. am meisten Ärgert mich an diesem Fehler eigentlich
das es immer wieder Leute gibt die sagen wenn NC abschmiert
sind die Leute nur zu blöd korrekten Code zu schreiben.
Dieser Fall beweist in meinen Augen das es nicht immer
so sein muss , oder gibts irgendwo ein offizielles Verbot
document.write im Head zu benutzen ?
naja.. trotzdem danke .. ich hatte diese Antwort ja auch
schon mal , wollte das nur nochmal loswerden da das
Posting damals ja nem Unfall zum Opfer gefallen ist und
ich mich nun schon seit nem halben Jahr wunder warum
NC sporadisch immer wieder absäuft ohne das ich da
bisher nen logischen Grund für gefundne hab.
gruss
Jens
Wow...da sieht man's mal wieder was für qualifizierte Leute sich hier seinen Fragen vornehmen...
Antje Hoffmann hat im JavaScript-Wettbewerb der InternetWorld so ganz nebenbei den 2. Platz belegt, und auch ein kleines Sümmchen abgestaubt...
Ihr JS war zwar vom Programmaufwand nicht die allergrößte technische Spielerei, aber von der Idee (und daurauf kommt's ja im Endeffekt an) her echt genial...
Das JS macht auf Klick aus einer Screenversion eines Dokuments eine Druckversion, in der einfach nur noch die wichtigsten Teile des Dokuments angezeigt werden...simpel aber genial!!!
Nebenbei ist diese Ausgabe der InternetWorld für jeden Stammleser hier zu empfehlen...
unter "Falko surft" steht eine kleine Glosse über Communities, die mir etwas die Augen geöffnet hat...
nix für ungut,
Oli
Wow...da sieht man's mal wieder was für qualifizierte Leute sich hier seinen Fragen vornehmen...
»»
Hi
interessant ist allerdings auch das zu dem Thema sonst
keiner was sagt , eigentlich hätte ich ja mal gern ein
paar Reaktionen von den ganzen Netscape Verfchtern dazu
gesehen die immer alle Abstürze darauf zurückschieben
das die Leute zu blöd sind sauberen Code zu schreiben.
naja.. egal .. was solls.
gruss
JEns
Ahh... Glueckwunsch Antje!
Aber nun zu Jens:
Als Netscape Verfechter muss ich sagen, dass der Navi natuerlich Fehler hat. Jedes Programm hat Fehler. Der Navi schreibt halt mal eine Leerzeile falsch, der IE oeffnet Sicherheitsluecken im System... soviele, dass alle 2 Wochen eine gefunden wird :-)
Aber zugegeben, ein Fancy Browser mit tollen Scripten (und einigen BO2K und Netbus im Hintergrund *g*) ist auch was feines! *zynisches Grinsen*
Browser, die einen winzigen Bug haben und eine Leerzeile einfuegen, wenn sie ein JS geladen haben, sollte man hingegen verbieten! Das geht ja nun wirklich nicht, und stellt einen gravierenden Mangel dar...
(Habt ihr diese "Leerzeile schreiben" Sache schon Netscape gemeldet?)
Mit besten Netscape-Gruessen,
Bio
Browser, die einen winzigen Bug haben und eine Leerzeile einfuegen, wenn sie ein JS geladen haben, sollte man hingegen verbieten! Das geht ja nun wirklich nicht, und stellt einen gravierenden Mangel dar...
Das ein Browser nur ne Leerzeile schreibt ist auch kein
Problem , das Probblem entsteht nur dannn wenn der Browser
wegen dieser Leerzeile die er selbst produziert dann
auch noch gleich mit ner Schutzverletzung aussteigt.
Die Netscape Fans sagen ja immer , man muss sauber
programmieren .. und die Fehlertoleranz beim IE ist
scheisse weil , so wenn man denn aber beim Netscape
sauber programmieren muss sollte man auf der anderen
Seite erwarten das er zumindest sauberen Code auch sauber
interpretiert.
Code schreiben , im Netscape im Source anschauen , da
dann kopieren , in Homesite einfügen und dann nochmal
validieren ??
Ist doch echt lachhaft.
(Habt ihr diese "Leerzeile schreiben" Sache schon Netscape gemeldet?)
Haha.. guter Witz .. ich habs aber meiner Putzfrau
gemeldet .. da erhoffe ich mir doch etwas mehr Erfolg
von.. :)
gruss
Jens
Hallo Jens!
Haha.. guter Witz .. ich habs aber meiner Putzfrau
gemeldet .. da erhoffe ich mir doch etwas mehr Erfolg
von.. :)
leistest Dir ne eigene Putze? Schick sie mal rüber, hier gibt es auch genug zu tun, seitdem der Patrick nur noch vorm PC sitzt!
Bis danndann
Cyberwuff
Hey... in Anbetracht der Lage, dass eventuell Raumpflegerinnen unter uns sind, die ihre eigene Homepage erstellen wollen und deshalb die beste HTML Hilfe der Welt in Anspruch nehmen wollen, moeglicherweise in Folge der CD in der Computerbild... da denke ich doch, dass wir alle nicht mehr 'Putze' zu Leuten sagen wollen, die unseren eigenen Dreck wieder wegmachen.
Bio
Hi Antje!
Habs ja schon seit November gewußt das du dort was reißen wirst <g/> - aber nur den 2.? <wunder/> bin jetzt wirklich enttäuscht ;-) - ist ja der 1. platz von den verlieren <fg/>
Nein gratuliere ganz herzlich - aber eins würde mich jetzt schon interessieren - was hatte der erste was du nicht hattest? Hätte jemand vielleicht eine link zu den anderen scripts?
Also am 18.2. wird das ganze mit einem Gläschen Sekt gefeiert - was hälst du davon wenn du einen Sprung nach Wien kommst ;-) - Achja zum feiern bräuchten wir noch mehr als zwei ... wer kommt denn noch <g/>
CU Roman
P.S.: Wenn die nächstes Jahr von der 16KB begrenzung runtergehen, weiß ich was das SBC einreichen wird ;-)
Hi Roman!
Nein gratuliere ganz herzlich - aber eins würde mich jetzt schon interessieren - was hatte der erste was du nicht hattest? Hätte jemand vielleicht eine link zu den anderen scripts?
http://www.internet-world.de/iw/magazin_listings_0200.htm
dort gibt's die ersten drei Plätze als .zip-files zum Download
der erste Platz war ein online-shop, der komplett in JS gemacht wurde...
InternetWorld so ganz nebenbei den 2. Platz belegt, und auch ein kleines Sümmchen abgestaubt...
Ihr JS war zwar vom Programmaufwand nicht die allergrößte technische Spielerei, aber von der Idee (und daurauf kommt's ja im Endeffekt an) her echt genial...
Das JS macht auf Klick aus einer Screenversion eines Dokuments eine Druckversion, in der einfach nur noch die wichtigsten Teile des Dokuments angezeigt werden...simpel aber genial!!!
Danke Oliver,
ich habe es von dir erfahren, als ich während der Arbeit ein Blick ins Forum warf. Meine Schüler waren vom Freudenschrei ganz überrascht.
Und jetzt ist auch endlich der Sekt kalt genug, denn das ist ein Grund zum Feiern.
Roman, in Wien natürlich das Ganze nochmal. :-)
Viele liebe Grüße
die sich freuende Antje
Hallo Jens!
<TD width="10%" class="THeader">Bild</TD>
Sollte das Problem nicht daran liegen was Antje beschrieben hat, würde es interessant sein zu wissen was du für class="THeader" definiert hast. Es gib einige Sachen gerade bei Tabellen + CSS die NS schneller abschmieren lassen als man "oops" sagen kann.
Zugegeben; man muss sich schon etwas "ansträngen" gerade die Angaben zu erwsichen, aber so unmöglich ist das nun auch wieder nicht.
Grüße
Thomas
Sollte das Problem nicht daran liegen was Antje beschrieben hat, würde es interessant sein zu wissen was du für class="THeader" definiert hast. Es gib einige Sachen gerade bei Tabellen + CSS die NS schneller abschmieren lassen als man "oops" sagen kann.
Zugegeben; man muss sich schon etwas "ansträngen" gerade die Angaben zu erwsichen, aber so unmöglich ist das nun auch wieder nicht.
Hi
ich denke schon das es wenn eher so ist wie Anke es beschrieben
hat , da ich das Verhalten inzwischen auf zwei Seiten
beobachten konnte , und es jedesmal an anderen Stellen
auftauchte , und hier war es halt sogar so das die Seite
offlien auf dem lokalen Web-Server vollkommen OK war ,
aber online beim Provider trat dan das besagte Problem
auf.
Die ganzen anderen Merkwürdigkeiten mit NC kenne ich
inzwischen auch zur Genüge und jede Seite läuft immer
durch nen Validator , und das ist ja der Witz , die
Orginal Seite geht durch den Validator , nur der Source
den Netscape daraus bastelt nicht mehr.
Achja ansonsten :
.THeader{color: #FFFFFF;font-family:Arial Black, Arial, sans;font-size:20px;text-align:top;}
gruss
Jens
.THeader{color: #FFFFFF;font-family:Arial Black, Arial, sans;font-size:20px;text-align:top;}
Hi Jens,
ich weiß nicht, ob es der Grund dafür ist, aber vielleicht bringt es etwas, wenn Du die Leerzeichen anders setzen würdest. Das Ganze würde dann so aussehen:
.THeader { color:#FFFFFF; font-family:Arial Black, Arial, sans; font-size:20px; text-align:top; }
ah, jetzt beim Tippen ist mir aufgefallen:
text-align:top; ??
Gibt's das überhaupt? Wenn nein, sollte das nicht vertical-align:top; heißen?
<../../tdcc.htm#a9>
Vielleicht liegt's daran?
Gruß
Tom
Gibt's das überhaupt? Wenn nein, sollte das nicht vertical-align:top; heißen?
Hi
stimmt .. es müsste sogar : vertical-align:text-top;
heissen.
Daran kanns aber nicht liegen.. da ich die Abstürze
auch früher schon hatte wo dieser etwas falsche Tag
nicht drin war.
Nachdem ich den Head-Bereich aus ner anderen Seite ,der
zumindest ohne das ich ihn mir in Hex angeschaut hab absolut identisch war , in die betreffende Seite
kopiert hab war der Fehler auch wieder raus.
War vermutlich irgendwo ein Leerzeichen weniger drin
oder so.. lol
gruss
Jens