Browserweiche per PHP für HTML5-Abfrage?

5 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Da kann dir die PHP Doku und Google recht gut helfen: http://php.net/manual/de/function.get-browser.php Ich habe gerade Zeit und schnell ein kleinen Schnipsel geschrieben:

<?php
$browser = get_browser($_SERVER['HTTP_USER_AGENT'], true);
if($browser['cssversion'] == 3) {
header("Location: HOMEPAGE/css3");
} else {
echo 'Sie sollten ihren Browser erneuern!<br>
<a href="HOMEPAGE/xhtml" target="_self" >Klicke hier um fortzufahren!</a>';
}
?>

Du musst halt wie in der PHP Doku geschrieben deine browscap.ini aktuell halten.

musikuss78 
Fragesteller
 24.05.2011, 13:54

Ah danke, das ist doch schon mal ein guter Ansatz :)

0

Vielen Dank schon mal für die wertvollen Tipps - beide Lösungen kenne ich bereits, jedoch ist es nicht das wo ich hin will. Ich möchte definitiv mit zwei getrennten Templates arbeiten und nicht die HTML5-Fassung mit übergewichtigen JavaScript-Tools mit allen möglichen Klassen zuspammen.

Grund dafür ist vor allen Dingen, dass für mich die XHTML-Fassung nur ein vorübergehendes Konstrukt ist. Die entsprechende Webseite besuchen schon jetzt mehr als 80 Prozent mit einem HTML5-Browser, 15 bis 20 Prozent davon mobil auf iOS und Android. Für mich macht es einfach keinen Sinn, die HTML5-Fassung abwärtskompatibel zu machen. Außerdem plane ich, sobald meine Zielgruppe noch intensiver mit modernen Browsern arbeitet, den Support für ältere Browser komplett einzustellen und die Weiche dazu zu nutzen, der Minderheit eine Aufforderung zur Aktualisierung anzuzeigen. Deshalb - und weil ich sowieso mit einem CMS arbeite - wäre mir eine serverseitige Browserweiche lieber.

Mann kann bestimmte Browser von der Möglichkeit der Nutzung einer Seite durch JavaScript ausschließen ...

Ideal wäre ja ein Skript wie http://html5test.com/ - das alle nötigen HTML5-Funktionen des Browsers abfragt und dann entscheiden kann, welches Template zum Einsatz kommt. Es müsste ja nicht alles abgefragt werden, sondern nur das, was ich tatsächlich auf der Webseite dann auch verwenden will...

Ich kann verstehen, dass es PHP sein soll für die Handvoll User, die Javascript deaktiviert haben. Wenn das aber kein Problem sein sollte: Warum so kompliziert?

Eigentlich braucht man nur 2 Scripts, um HTML5 und CSS3 bis runter zum IE5 lauffähig zu machen: Einfach mal nach html5shiv googlen.

Das zweite Script wäre Modernizr, der Link zur anpassbaren Variante hier: http://modernizr.github.com/Modernizr/2.0-beta/

Modernizr liest die Browserversion aus und vergibt für alle CSS3 Funktionen Klassen an das HTML Element. Entweder heißt die Klasse dann zB "border-radius" oder "no-border-radius".

Um ein spezifisches Design für Browser festzulegen, die eine Eigenschaft nicht unterstüzen, wird im CSS einfach eine Anweisung für die ".no-xy-eigenschaft { …; }" hinterlegt.