Ich habe eine spezielle Codierung, die nur für HTML5-Browser funktioniert (einfaches Geolocation-Zeug). Ich möchte iPhone- und Android-Benutzer auf die Version m.example.com meiner Website umleiten. Wie geht das am besten?
quelle
Ich habe eine spezielle Codierung, die nur für HTML5-Browser funktioniert (einfaches Geolocation-Zeug). Ich möchte iPhone- und Android-Benutzer auf die Version m.example.com meiner Website umleiten. Wie geht das am besten?
Sie können die UserAgent-Erkennung oder jQuery.support () verwenden. Da Sie nach bestimmten Funktionen suchen, können Sie beide kombinieren, um das zu erhalten, was Sie möchten.
UserAgent ist möglicherweise die beste Wahl. Führen Sie dies mit einer .htaccess-Datei aus, um Ihre http-Anforderungen zu reduzieren und möglicherweise Ihre Hauptwebsite vor der Umleitung zu flashen, wenn die Verbindung langsam oder die Leistung von Javascript langsam ist.
Sie können die (meistens) vollständige Liste der mobilen Benutzeragenten auf der Wikipedia-Seite sehen . Wie Sie sehen, gibt es Ähnlichkeiten zwischen Herstellern und Versionen, nach denen Sie in einem regulären Ausdruck suchen könnten.
Ihre Frage besteht aus zwei Teilen: Umleitung und HTML5-Kompatibilität.
Umleitung
Ich verwende die folgende .htaccess:
Für PHP können Sie diese Bibliothek verwenden: http://detectmobilebrowsers.mobi/ ... aber ich empfehle dringend, htaccess für die Verarbeitungszeit und Sicherheit zu verwenden.
Weitere Beispiele finden Sie hier
http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/
Browserfunktionen
Da mein Android-Handy kein Problem mit HTML5 mit Geolocation-Code hat. Sie können die Modernizr Javascript Library verwenden , um die Funktionen des Client-Browsers zu ermitteln, der Ihre Seite besucht.
Die ausgezeichnete HTML5-Boilerplate- Vorlage verwendet modernizr out of the box, um diese Art von Anforderungen zu unterstützen.
Meine Meinung ist: Ich schlage vor, die htaccess-Methode für alles außer den neuesten Telefonen und Browsern zu verwenden, die von modernizr unterstützt werden, und Android- und iPhone-Benutzer von Modernizr auf Unterstützung für HTML5-Funktionen überprüfen zu lassen und den "Rest" auf Ihre "ohne Geolocation" -Version umzuleiten.
Modernizr Beispiel:
Hoffe das hilft
quelle
Wenn Sie mit PHP codieren, können Sie
$_SERVER['HTTP_USER_AGENT']
den UserAgent-Header überprüfen, der von fast allen wichtigen Mobilgeräten an das PHP-Skript gesendet wird. Dann vergleichen Sie einfach den Wert dieses Headers mit dersubstr
Funktion mit dem, was er im Inneren haben muss.Beispielsweise verfügen Apple-Geräte immer über Unterzeichenfolgen für "iPhone" oder "iPad". Android-Geräte haben immer "Android". In fast jedem mobilen Gerät ist in diesem Header die Unterzeichenfolge "mobil" aufgeführt.
quelle