[style].opacity = x;
[style].filter = 'Alpha(opacity='+x+')';
Vielleicht habe ich mich missverständlich ausgedrückt. Mit einer Browserweiche meine ich nicht einfach browserübergreifende Programmierung bzw. die Berücksichtigung mehrere Lösungswege. Ich suche vielmehr Code, bei dem eine Erkennung des Browsers (z.B. über navigator.userAgent) nötig ist, um dann etwas zu tun, was nicht mit Existenzabfragen von Objekten sicher gelöst werden kann.
Das obige bezeichne ich nicht als Browserweiche, aber es ist natürlich ein gutes Beispiel für mehrgleisige Scripte. Fälle wie den obigen gibt es viele, z.B. cssFloat vs. styleFloat. Glücklicherweise sind all diese extrem leicht zu handhaben. Ich setze einfach beide oder lese das aus, was gesetzt ist. Das funktioniert. Und wenn nicht, wenn das eine Exception auslösen würde, kann ich die Eigenschaften ohnehin abfragen.
var st = el.style;
st.cssFloat = st.styleFloat = "none";
var val = st.cssFloat || st.styleFloat;
Das wäre so ein klassisches Beispiel, wo eine Browserweiche nicht nötig ist (gut, man könnte hier Conditional Compilation verwenden, schließlich ist es ein reiner IE-Bug).
Mathias