Cheatah: Browserweiche

Beitrag lesen

Hi,

siehe wahsaga - es sind _Funktions_weichen, keine Browserweichen. Das ist nicht nur tatsächlich ein Unterschied, sondern sogar der entscheidende.
letztlich ein (eigentlich für sich belangloses) sprachliches Problem;

nein! Es geht nie, nie, nie um den Browser, sondern immer nur und ausschließlich darum, was er kann. Das ist ein gigantischer Unterschied - wie ich schon sagte: der entscheidende - und keine Haarspalterei. Eine wie auch immer geartete Weiche, die sich nach dem Browser richtet, ist *immer* ein Beweis(!) dafür, dass der Autor nicht wusste, was er tut.

eine sprachliche Vereinbarung die mir entgangen wäre?

Zwischen "ich bin"[1] und "ich kann" ist der Unterschied IMHO ziemlich deutlich.

Wenn ich das Wort Browserweiche so verstehe dass ein Browser irgendwo hin kommt oder eben nicht, ist es eine Browserweiche,

Ja, eben. Genau das ist nämlich Unsinn, weil es nicht darum geht, welcher Browser gerade vorliegt.

Die Oberbezeichnung "Browserweiche" scheint mir immer noch für die "filternden Vorgänge" bei CSS oder auch HTML-Kommentar die einzig mögliche, selbst wenn es nur ein einzelnes CSS-Filter wäre.

Sie entspricht entweder nicht der Realität, oder einem eklatant falschen Verständnis der Sachlage. Noch einmal: Der verwendete Browser ist *nie* von Belang.

Oder, wenn ich einen Browser anhand seiner CSS-Fehler oder HTML-Eigenheiten eine bestimmte Datei als css laden lasse wäre es keine Browserweiche?

Nein, das ist eine Fähigkeitenweiche, weil sie darauf beruht, welche Fähigkeiten vorliegen. Es ist völlig egal, um welchen Browser es sich handelt.

Und wenn ich einen Browser anhand seiner CSS-Fehler eine bestimmte Anweisung zukommen lasse hat es ja selten etwas mit den in der Anweisung geforderten "_fähigkeiten_", "_Funktionen_" zu tun,

Doch, ganz exakt damit.

sondern mit browsertypischen Abweichungen die wegen anderer browsertypischen Abweichungen genutzt werden,

Abweichungen in den Fähigkeiten.

gemeinsamer Nenner eben genau der Browser, und nicht die genutzten Techniken.

Nein, gemeinsamer Nenner ist das, was er kann oder nicht kann.

Mal einen Vergleich mit JavaScript, selbst wenn ich per JavaScript genau die anschliessend benutzten Fähigkeiten abfragen würde wäre es solange Unfug wie Browser Eigenschaften vorgeben können über die sie gar nicht hinreichend verfügen.

Dann ist entweder die Prüfung kaputt, oder der JavaScript-Interpreter ist dermaßen grob fehlerhaft, dass er nicht beachtet werden kann. Wenn er nicht vorhandene oder nicht funktionierende Objekte, Eigenschaften und Methoden im Boole'schen Sinne als wahr quittiert, ist die Implementierung schlicht und ergreifend nicht beachtenswert. Ich kenne auch keinen Fall, in dem das vorkäme.

Ich benötige also i.d.Praxis letztlich sehr oft Browserweichen um hinsichtlich der Fähigkeiten sicher zu gehen und Browser gezielt auszufiltern,

Dazu müsstest Du ausnahmsfrei _alle_ Browser kennen, die derzeit existieren, jemals existiert haben - und existieren werden. Das ist unmöglich. Bei der Frage nach Fähigkeit musst Du einfach nur wissen, welche Fähigkeit vorliegen muss - und das weißt Du dadurch, dass Du sie nutzen möchtest.

oder ich müsste die Verfügbarkeit von Methoden sehr komplex und viel zu aufwändig nachkontrollieren,

Nö.

Dazu weisen einige prominente "handelsübliche CSS-Hacks" je nach Anwendungsfall ganz erhebliche Mängel auf,
Richtig, sie sollten mit Vorsicht eingesetzt werden. Es wurde nie etwas anderes behauptet.
Aber eine zusammnehängendere Betrachung mit dem jeweiligen Browser würde dieser nötigen "Vorsicht" und den meisten Mängeln entsprechen.

Nein, sie wäre zu komplex.

Wir hatten hier gerade kürzlich erst einen Diskurs darüber, wann und wieso Conditional Comments (ich nehme an, darauf beziehst Du Dich) Sinn machen und wann eher nicht.
Auch, da war wohl deine Präferenz die einer einzigen CSS-Datei.

Nein, ich war derjenige, der mit vielen Dateien hantiert :-)

So stelle ich z.B. bei einem Projekt fest dass ich dann früher eine zufriedenstellendes Ergebnis erhalte wenn ich mit einer Entwicklung für den IE anfange,

Autsch, jetzt kann ich verstehen, dass Dir Browserweichen zusagen. Dieses Vorgehen führt fast zwangsläufig zu anders kaum behebbaren Problemen. Entwickle zunächst mit einem Mozilla und passe den Code später auf andere Browser an.

Falls ich nun HTML und CSS möglichst reduziert erstmal für Mozilla und den inzwischen etwas (v)erträglicheren Opera schreibe gibt es doch recht viele Konflikte mit den IEs,

Viele Bugs, ja. Mit ein wenig Erfahrung sind die aber auf diesem Wege leicht handhabbar, während man beim umgekehrten Weg ständig gegen harte Mauern stößt.

Cheatah

[1] Bzw. "ich behaupte zu sein".

--
X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
X-Will-Answer-Email: No
X-Please-Search-Archive-First: Absolutely Yes