Cheatah: Scripts und Styles auskommentieren

Beitrag lesen

Hi,

Welchen Grund gäbe es denn, den JavaScript-Code auszukommentieren? Welche praktische Relevanz hat diese Methode noch, welche auf sieben Jahre alte, ohne Zweifel absolut antiquierte Browser (MSIE 2 und Netscape 1) abzielt?
welchen Grund gibt es, die Existenz dieser und ähnlicher Browser zu ignorieren?
Mir ging es darum, die reale Verbreitung und Benutzung anzuzweifeln, nicht die »Existenz« zu ignorieren,

genau darum geht es aber: Wenn man für das Internet entwickelt, entwickelt man für _alles_, was dort eine wie auch immer geartete Daseinsberechtigung hat. Benutzt also jemand, aus welchen Gründen auch immer, einen Netscape 1, einen lynx, ein PDA, einen Blindenbrowser oder sonstwas, das kein <script> kennt, dann hat der doch bitteschön trotzdem das bestmögliche Ergebnis zu erhalten. _Das_ ist Professionalität; nicht das Sparen von vier Bytes. Die vielen nicht-Browser-Clients natürlich ebenfalls nicht zu vergessen.

Mosaic, der line mode browser und Co. existieren deiner Definition nach auch, dennoch wird man mit ihnen nur durchs Web stolpern können, da sie nicht einmal Virtual Hosts verstehen.

Es gibt Clients, die in Sachen HTTP auf dem neuesten Stand sind, nicht jedoch in Sachen HTML.

Tut die Kommentierung weh? Schadet sie?
Nein, wie gesagt, bei HTML nicht. Dennoch würde ich es heute nicht mehr als obligatorisch darstellen (darum ging es mir).

In HTML ist es IMHO noch immer obligatorisch.

Viele Sites verwenden außerdem XHTML produktiv

In XHTML nicht mehr. Ich bin mir nicht sicher, ob es dort Empfehlung ist, auf HTML-Kommentare innerhalb von <script> zu verzichten, oder sogar Pflicht.

  • Vom skeptischen »man kann nie wissen«-Standpunkt wäre schon HTML 3.2 problematisch.

Nein, keinesfalls. HTML ist abwärtskompatibel. XHTML hingegen ist problematisch, sollte daher mit Vorsicht genossen werden. In dem Moment, wo man sich für XHTML entscheidet, ist jedoch klar, dass man dies konsequent macht.

In Anbetracht der Tatsache, dass Diskussionen geführt werden, ob der Steinzeitbrowser Netscape 4.x noch aktiv unterstützt werden soll,
Solche Diskussionen werden vorwiegend von Leuten geführt, deren Erfahrungsschatz noch zu wünschen übrig lässt.
Wieso?

Weil es dem Profi egal ist, welchen Browser sein Kunde verwendet. Es lässt sich ohne weiteres Code so erzeugen, dass er kompatibel zu _allem_ ist - ohne die jeweiligen Systeme überhaupt zu kennen. Es erfordert _aktives Eingreifen_, diese Kompatibilität zu unterminieren. Ich sehe keinen Grund dafür, unter Mühen Probleme zu verursachen, während simple Nutzung der Standards und einiger Styleguides allen Bedürfnissen gerecht wird.

Ich würde das Gegenteil behaupten, es sind eher diejenigen, die eine Site rationalisiert mit CSS layouten wollen und trotz intensiver Auseinandersetzung mit den unzähligen Browserbugs unter anderem an Netscape 4.x scheitern,

Dass manche Systeme Probleme mit der Darstellung haben, ist bekannt - und weitgehend egal. Das Aussehen ist zweitrangig, auf die einschränkungsfreie Funktionalität und den Inhalt kommt es vorwiegend an. Um auf weniger guten Systemen optisch ansprechende Ergebnisse zu erzielen, muss man diese in der Tat kennen und an den Unwägbarkeiten vorbeischiffen - _das_ ist etwas, was man sich gerne sparen darf. Nicht aber, JavaScript-Code als Inhalt zu präsentieren, nur weil man nicht daran gedacht hat, dass manche Clients kein <script> kennen.

Ich habe nur selten erlebt, dass Fachleute darüber ernsthaft nachgedacht haben.
Ich sehe hier ständig Diskussionen

Das steht in keinem Widerspruch zu meiner Aussage.

und sehe vor allem auch ständig Sites, welche oben genannte Techniken anwenden, sicher nicht aufgrund von Faulheit oder Unkenntnis über mögliche Wege.

Moment. Der Einsatz von CSS (o.ä.) unter Nichtberücksichtigung nicht-CSS-fähiger Systeme ist _kein_ Problem - CSS ist darauf ausgerichtet, genau hierfür eingesetzt zu werden. Auf einem Netscape 3 sieht es dann eben einfach anders aus. Na und? Trotzdem funktioniert alles einwandfrei, der Inhalt ist voll und ganz zugänglich.

Das ist ein weit verbreiteter Irrtum: An "alte" (mit dem Alter hat es keinesfalls direkt zu tun) Programme zu denken heißt beim besten Willen nicht, auf neue Techniken zu verzichten oder alles doppelt machen zu müssen. Das W3C erstellt die Standards _bewusst_ so, dass sie abwärtskompatibel sind. Nur begehen viele Leute den Irrtum zu glauben, Seiten müssen unbedingt auf allen Browsern identisch aussehen - das ist aber Unsinn. Praktisch keine Seite sieht mit einem aktuellen lynx (und ja, lynx _ist_ aktuell) so aus wie mit Mozilla oder einem IE. Das geht gar nicht! Und es braucht auch nicht zu gehen. Das Internet ist keine graphische Präsentation, wie es etwa bei einer Zeitschrift der Fall ist. Es kennt eine Vielzahl absolut gültiger, aber völlig unterschiedlicher Darstellungen identischer Inhalte. Nicht umsonst gibt es bei CSS die Möglichkeit, eine akustische Darstellung zu empfehlen.

halte ich es für reichlich absurd, für die (wenn auch passive) Unterstützung von Netscape 1 zu plädieren.
Warum redest Du eigentlich nur von Browsern,
Was gibt es außer HTTP/HTML-Benutzeragenten sonst noch für Webseiten darstellende Software, welche kein script-Element kann? ;)

Suchmaschinen-Robots? Site-Grabber? Proxies? Übrigens geht es hier ausschließlich um HTTP/HTML-Benutzeragenten - aber nicht eben nur um Browser (und schon gar nicht nur um graphische Browser).

Ich finde keine zuverlässigen Angaben darüber, ab welcher Version Lynx script versteht (und dann ignoriert).

Das kann ich Dir auch nicht mitteilen. Jedoch ist lynx keinesfalls der einzige nicht-graphische Browser. Warst Du jemals blind und hast Dir Webseiten mit den Fingern angesehen? Oder vorlesen lassen?

Dennoch brauche ich vielleicht noch Hunderttausend Besucher mehr, damit dieser Fall zum ersten Mal eintritt und kein hypothetisches Gedankenspiel bleibt, was es momentan m.E. ausschließlich ist.

Wenn dieser Fall zum ersten Mal eintritt, und es sich zufällig um den (blinden) Leiter der Einkaufsabteilung von $WELTKONZERN handelt, welcher bei Dir ein paar Millionen Euro lassen wollte, wirst Du es vermutlich ebenfalls nicht erfahren, weil er einfach weggeht und sich eine bessere Site sucht. Und komm mir jetzt bitte nicht mit dem Argument, Du würdest auf Deiner Homepage nichts verkaufen :-)

Es gibt andere Clients. Wie verhalten die sich, kannst Du das mit Gewissheit sagen?
Dieses Argument ist hinfällig, da es diese Gewissheit nicht geben kann und nicht geben wird.

Doch, die gibt es: Halte Dich an die Standards und einige wenige Styleguide-Regeln, und Du wirst auf _jedem_ Client die dort bestmöglichen Ergebnisse erzielen. Gehst Du jedoch nach dem Prinzip "hat eh keiner mehr, der Fall wird schon nicht auftreten", schließt Du bereits im Vorfeld Besucher aus. Es mögen einzelne sein, nur einer unter Millionen - aber wenn ausgerechnet dieser _der_ Kunde hätte werden wollen, hätte sich die Aufwandseinsparung (ja, sich an Standards&Co. zu halten _spart_ Aufwand) absolut gelohnt.

Diesen Einwand kannst du bezüglich jeder im Web verwendeten (clientseitigen) Technik bringen.

Nein. Clientseitige Techniken, die einem (W3C-, IETF-)Standard unterliegen, lassen sich _immer_ optional einsetzen. Sie sind absolut kompatibel mit Systemen, die sie nicht beherrschen.

Ich kann auch nicht mit Gewissheit sagen, ob mein Markup oder meine Styles nicht bei einem nicht kalkulierbaren Browser einen Absturz verursachen (schlechter Vergleich, denn die von mir genannten Browser sind mehr oder weniger kalkulierbar, aber du sprachst ausdrücklich andere Clients an).

Ja, es kann immer Programme/Systeme geben, die auf völlig normale und korrekte Dinge absurd reagieren. Wenn man sie kennt, kann man versuchen, dies zu umgehen - aber darüber hinaus lohnen sie wirklich keine Sonderbehandlung, denn dann müsstest Du vorsichtshalber auf _alles_ verzichten. Auch auf Text. Und das ist zugegebenermaßen Blödsinn :-)

Ich kann lediglich die mir bekannten beziehungsweise verfügbaren Browser im Auge behalten

Was ich Dir die ganze Zeit sagen will: Es ist schön, wenn Du Deine Ergebnisse soweit verbesserst, dass sie mit handelsüblichen Browsern nach dem 80/20-Prinzip (oder von mir aus 95/5) _noch_ besser aussehen. Aber - um auf _jedem_ System problemfrei nutzbare Ergebnisse zu erzielen, brauchst Du kenntnisse über _kein_ System, sondern nur über die Standards und ein wenig Styleguide. Das ist alles! Die Betrachtung, welcher Browser jetzt wie sehr verbreitet ist, wie viele was können etc., ist vollkommen überflüssig, sie hilft Dir nicht. Sie führt höchstens zu Fehlentscheidungen, indem Du nämlich Dinge tust, die bei 99% aller Fälle toll sein mögen, aber im verbleibenden Prozent (oder meinetwegen auch einem Bruchteil davon) das Gegenteil, nämlich Probleme verursachen.

ich werde beispielsweise wahrscheinlich nie erfahren beziehungsweise »mit Gewissheit (voraus-)sagen« können, wie meine Sites im OmniWeb oder iCab (oder ...) aussehen.

Das ist ja auch egal. Wie sie _funktionieren_ kannst Du jedoch sehr gut vorhersehen.

Ich rede bewusst von Clients, nicht von Browsern.
»Browser« definiere ich im WWW-Kontext als ein Programm, welches den Inhalt von Hypertextseiten ausgibt beziehungsweise durch Interaktion navigierbar macht,

Ja, das ist korrekt. Gerade der letzte Teilsatz impliziert jedoch einen Menschen, der das Programm bedient - und das ist nur bei einem relativ geringen Teil der Clients der Fall.

Muss man es denen bewusst erschweren, wenn *vier Bytes* das Problem beheben?
Wieso vier, ich denke mindestens acht, wenn man von acht Bit pro Byte ausgeht. ;) Hinzu kommen die beiden Newlines, nicht auszumalen, wieviel zusätzlicher Speicher verquast wird! Du handelst im Auftrag eines Webhosters, gestehe! ;)

*g* Verdammt, ich bin erkannt ;-)

Cheatah

--
X-Will-Answer-Email: No