Frage

Deshalb habe ich beschlossen, mein CSS in eine IE6-und-IE7-Datei zu zerlegen. Ich werde CSS -Regeln in dieser Datei haben, auf die nur IE6 und IE7 abzielen, wie beispielsweise:

div {
    *color: red; /* target ie7 and below */
    _color: green; /* target ie6 and below */
}

Wenn möglich, bevorzuge ich PHP mit $_SERVER['HTTP_USER_AGENT'] Um den Browser zu erkennen, anstatt dh bedingte Kommentare.

Ich verstehe, dass Besucher ihren Benutzer-Agent "fälschen" und behaupten kann, welcher Browser sie auch immer, aber wie lautet die allgemeine Meinung zur Verwendung von PHP anstelle von IE-bedingten Kommentaren, um den Browser zu erkennen?

War es hilfreich?

Lösung

IMHO - Verwenden Sie IE bedingte Kommentare. Sie sind im Vergleich zur Verarbeitung auf dem Server ziemlich schneller! Denken Sie darüber nach, wenn 100 Clients dies auf Ihrem Server verarbeiten, wird Ihr Server im Vergleich zum Delegieren dieser 100 Clients verlangsamt, um sie zu rendern und zu verarbeiten.

Es lohnt sich nicht, den Serverlast zu locken, selbst wenn Sie ihn zwischenspeichern und nicht jedes Mal auf dem Server rendern.

Andere Tipps

Möchten Sie diesen String -Vergleich jedes Mal, wenn eine Seite angefordert wird? Ich würde nicht. Ich würde das dem Browser überlassen.

Als Alternative, die für mich ziemlich gut funktioniert hat, könnte man benutzen css_browser_selector.js. Dabei würde Ihr Stylesheet eher so aussehen:

.ie7 div {
    color: red; /* target ie7 */
}

.ie6 div {
    color: green; /* target ie6 */
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top