Habe eine schnelle, vielleicht dumme Frage. Ich muss alle IE-Versionen unter 8 erkennen. Geht das einfach über die Prüfungen auf IE 6/7 oder gibt es einen einfacheren Weg?
Browser senden ihre ID in einer Header-Datei; Ich bin mir nicht sicher, ob IE 8 etwas Einzigartiges von früheren Versionen sendet, aber wenn man den Header davon mit anderen Versionen vergleicht, könnte man einen brauchbaren Textstring finden. Erstelle ein Skript, das HTTP_USER_AGENT ausgibt, suche einige Leute mit früheren Versionen, lasse sie dir das Ergebnis senden und schaue, ob ein Textstring passt. Beachte, dass du vielleicht auch zwischen IEPC und IEMac unterscheiden möchtest. Ich habe einmal eine Switch-Anweisung mit mehreren Browser-Optionen wie diesem Snippet verwendet und je nachdem, welcher Browser eine Seite angefordert hat, unterschiedliche CSS-Stylesheets ausgegeben. Ich habe jedoch nicht zwischen Versionen unterschieden.
Bei mir funktioniert es nicht, nicht einmal die PHP5-Version (von Geert). :( Ich benutze das, um mobile Browser zu erkennen, und ich wollte, dass dieselbe PHP-Datei erkennt, ob es sich um IE handelt, und dann IE-Benutzer auf ein Verzeichnis meiner Website umleitet. Könnte mir jemand helfen? Ich kenne mich nicht gut mit PHP aus. :\
Kevin und Geert – was war die Lösung? Ich wollte den Code ausprobieren, aber es scheint, dass der falsche Code angezeigt wird und die Korrektur dem Publikum nicht erklärt wurde. Könnte einer von euch es vielleicht erläutern? Ich versuche gerade, IE-Versionen zu erkennen, und bin neu in PHP! Danke für jede Hilfe, die ihr anbieten könnt!
Wenn Sie IE 11 in die Bedingung aufnehmen möchten if (preg_match(‘~MSIE|Internet Explorer~i’, $_SERVER[‘HTTP_USER_AGENT’]) || (strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Trident/7.0; rv:11.0’) !== false)) { // Etwas tun
}
Habe eine schnelle, vielleicht dumme Frage. Ich muss alle IE-Versionen unter 8 erkennen. Geht das einfach über die Prüfungen auf IE 6/7 oder gibt es einen einfacheren Weg?
Browser senden ihre ID in einer Header-Datei; Ich bin mir nicht sicher, ob IE 8 etwas Einzigartiges von früheren Versionen sendet, aber wenn man den Header davon mit anderen Versionen vergleicht, könnte man einen brauchbaren Textstring finden.
Erstelle ein Skript, das HTTP_USER_AGENT ausgibt, suche einige Leute mit früheren Versionen, lasse sie dir das Ergebnis senden und schaue, ob ein Textstring passt.
Beachte, dass du vielleicht auch zwischen IEPC und IEMac unterscheiden möchtest.
Ich habe einmal eine Switch-Anweisung mit mehreren Browser-Optionen wie diesem Snippet verwendet und je nachdem, welcher Browser eine Seite angefordert hat, unterschiedliche CSS-Stylesheets ausgegeben. Ich habe jedoch nicht zwischen Versionen unterschieden.
Wichtiger Hinweis: Einige Nicht-IE-Browser enthalten die Teilzeichenfolge MSIE. Insbesondere Opera.
Beachte, dass die POSIX-Regex-Funktionen, wie z.B.
eregi, seit PHP 5.3.0 veraltet sind. Hier ist eine Version mitpreg_matchDanke Geert, deine Lösung hat perfekt funktioniert.
Funktioniert das auch für Windows Mobile 7? Danke
Bei mir funktioniert es nicht, nicht einmal die PHP5-Version (von Geert). :(
Ich benutze das, um mobile Browser zu erkennen, und ich wollte, dass dieselbe PHP-Datei erkennt, ob es sich um IE handelt, und dann IE-Benutzer auf ein Verzeichnis meiner Website umleitet.
Könnte mir jemand helfen? Ich kenne mich nicht gut mit PHP aus. :\
Oh, bitte vergiss meinen vorherigen Kommentar. Es funktioniert jetzt.
Danke CSS-Tricks und Geert!
+1 für Geert! Hat mir Stunden der Suche erspart! Danke
Kevin und Geert – was war die Lösung? Ich wollte den Code ausprobieren, aber es scheint, dass der falsche Code angezeigt wird und die Korrektur dem Publikum nicht erklärt wurde. Könnte einer von euch es vielleicht erläutern? Ich versuche gerade, IE-Versionen zu erkennen, und bin neu in PHP! Danke für jede Hilfe, die ihr anbieten könnt!
Wenn Sie IE 11 in die Bedingung aufnehmen möchten
if (preg_match(‘~MSIE|Internet Explorer~i’, $_SERVER[‘HTTP_USER_AGENT’]) || (strpos($_SERVER[‘HTTP_USER_AGENT’], ‘Trident/7.0; rv:11.0’) !== false)) {
// Etwas tun
}