Hallo,
Ich habe nun diese Variante für den ltIE9 angepasst und wüsste gern, wie ich optimal die Weiche dahin konfiguriere, vielleicht sogar ohne eine leere Seite dazwischenzuschalten.
Wie eine sinnvolle Weiche aussieht, hängt davon ab, was die konkreten Unterschied zwischen den Varianten sind (HTML? CSS? JavaScript?). Optimal ist, es wurde hier schon gesagt, meist die Integration in eine Seite, nicht die Trennung in zwei Seiten.
Mögliche Techniken sind (unvollständig):
Unterschiedliches HTML:
- Conditional Comments innerhalb des bodys
- Serverseitige User-Agent-Weiche. Der Server liefert je nach User-Agent-Header unterschiedliches HTML aus und setzt den Header Vary: User-Agent. Links für PHP:
$_SERVER['HTTP_USER_AGENT']
preg_match()
header()- Serverseitige Weiterleitung anhand des User-Agents. Dann gibt es aber zwei URLs, das ist problematisch.
Unterschiedliche Styles:
- Unterschiedliche Regeln mit Selektor-Hacks in den vorhandenen Stylesheets. Siehe auch browserhacks.com
- Klassen hinzufügen mit Conditional Comments
- <http://de.selfhtml.org/css/layouts/browserweichen.htm#alternative@title=Unterschiedliche Stylesheets laden mit Conditional Comments>
Unterschiedliches JavaScript:
- Feature-Abfragen, sofern möglich
- Browsererkennung mit Conditional Comments
- http://de.selfhtml.org/javascript/objekte/navigator.htm@title=navigator.userAgent http://de.selfhtml.org/javascript/objekte/regexp.htm@title=prüfen
- Archivthread zur Browsererkennung mit JavaScript
Mathias
Danke für diese umfassende Antwort, das war das, was ich wollte. Ich könnte alles auch ggf. mit einer Seite regeln, wenn ich ein js-script und eine css-Datei je nach Browser separat zuordnen bzw. "überspringen" könnte. Nur dürften die dann nicht bei ltIE9 ZUSÄTZLICH geladen, sondern alternativ.