Eu tenho uma codificação especial que só funciona para navegadores HTML5 (coisas simples de geolocalização). Desejo redirecionar os usuários do iPhone e Android para a versão m.example.com do meu site. Como é a melhor maneira de fazer isso?
fonte
Eu tenho uma codificação especial que só funciona para navegadores HTML5 (coisas simples de geolocalização). Desejo redirecionar os usuários do iPhone e Android para a versão m.example.com do meu site. Como é a melhor maneira de fazer isso?
você pode usar a detecção do UserAgent ou o jQuery.support (). Como você procura funcionalidade específica, pode combinar os dois para obter o que deseja.
O UserAgent pode realmente ser sua melhor aposta. Faça isso com um arquivo .htaccess para reduzir as solicitações HTTP e, possivelmente, exibir o site principal antes do redirecionamento no caso de conexão lenta ou desempenho lento do javascript.
Você pode ver a lista (na maioria) exaustiva de agentes de usuários móveis na página da wikipedia . Como você pode ver, existem semelhanças entre fabricantes e versões que você poderia procurar em uma expressão regular.
Sua pergunta toca em duas partes. Redirecionamento e compatibilidade html5.
Redirecionamento
Estou usando o seguinte .htaccess:
Para php, você pode usar esta biblioteca: http://detectmobilebrowsers.mobi/ ... mas eu sugiro usar o htaccess para tempo e segurança de processamento.
Você pode encontrar alguns exemplos adicionais aqui
http://ohryan.ca/blog/2009/02/18/revisiting-mobile-redirection-using-htaccess-rewrite-rules/
Recursos do navegador
Como meu telefone Android não tem problemas com o html5 com código de geolocalização. Você pode considerar usar a Biblioteca Javascript Modernizr para detectar os recursos do navegador do cliente que visita sua página.
O excelente modelo padrão do HTML5 está usando o modernizr pronto para suportar esse tipo de necessidade.
Minha opinião é: sugiro usar o método htaccess para tudo, exceto telefones e navegadores recentes suportados pelo modernizr, e permitir que usuários do Android e iPhone sejam verificados pelo Modernizr quanto ao suporte a recursos html5 e redirecione o "resto" da sua versão "sem geolocalização".
Exemplo Modernizr:
Espero que isto ajude
fonte
Se você estiver codificando com PHP, poderá
$_SERVER['HTTP_USER_AGENT']
verificar o cabeçalho do UserAgent, que é enviado quase por qualquer dispositivo móvel importante para o script PHP. Em seguida, basta comparar o valor desse cabeçalho comsubstr
a função com o que ele precisa ter dentro.Por exemplo, os dispositivos Apple sempre terão sub-strings 'iphone' ou 'ipad'; Os dispositivos Android sempre terão 'android'. Quase todos os dispositivos móveis terão uma sub-string 'móvel' listada neste cabeçalho.
fonte