När vi gör en hemsida så kan vi av olika anledningar vilja veta om det är en mobil klient som besöker hemsidan. Presenterar i detta inlägget i dess mest simpla form hur vi kan få den informationen med hjälp av antingen Javascript, PHP eller Apaches .htaccess fil.
Javascript
navigator.userAgent.toLowerCase().indexOf( 'android' ) > 0 navigator.userAgent.toLowerCase().indexOf( 'blackberry' ) > 0 navigator.userAgent.toLowerCase().indexOf( 'iphone' ) > 0 navigator.userAgent.toLowerCase().indexOf( 'ipod' ) > 0 navigator.userAgent.toLowerCase().indexOf( 'ipad' ) > 0 navigator.userAgent.toLowerCase().indexOf( 'webos' ) > 0
Ett exempel på hur man kan använda sig av ett reguljärt uttryck:
navigator.userAgent.match( /android/i )
PHP
strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'android' ) strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'blackberry' ) strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'iphone' ) strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'ipod' ) strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'ipad' ) strstr( strtolower( $_SERVER[ 'HTTP_USER_AGENT' ] ), 'webos' )
Ett alternativt exempel för att använda reguljära uttryck istället:
preg_match( '/android/i', $_SERVER[ 'HTTP_USER_AGENT' ] )
Det finns också en klass jag hittat på Google code värt att nämna i sammanhanget:
http://code.google.com/p/php-mobile-detect/
Apache
RewriteCond %{HTTP_USER_AGENT} ^.*android.*$ [NC] RewriteCond %{HTTP_USER_AGENT} ^.*blackberry.*$ [NC] RewriteCond %{HTTP_USER_AGENT} ^.*iphone.*$ [NC] RewriteCond %{HTTP_USER_AGENT} ^.*ipod.*$ [NC] RewriteCond %{HTTP_USER_AGENT} ^.*ipad.*$ [NC] RewriteCond %{HTTP_USER_AGENT} ^.*webos.*$ [NC]
Länkar
http://scottrockers.com/
http://cardonadesigns.com/
http://stackoverflow.com/
http://detectmobilebrowsers.com/