Possível detectar o tipo * de Mobile Device * via javascript ou cabeçalhos HTTP?
-
03-07-2019 - |
Pergunta
Eu tenho um pedido de um cliente para detectar automaticamente o tipo de dispositivo móvel (não o navegador, o ex Tipo:. Moto Q, Blackjack II, etc.) e seleciona automaticamente o dispositivo a partir de um menu suspenso com um lista de dispositivos suportados.
Até agora eu descobri que a cabeçalhos HTTP (apresentado pelo celular IE) contêm informações como
- Resolução
- UA-CPU (i vi ARM de WM 2003 e x86 de WM5)
- User Agent (que basicamente apenas diz Windows CE)
A única coisa que posso pensar agora é possivelmente usando uma combinação de resolução / cpu e fazer uma "melhor estimativa"
Qualquer pensamento?
Solução
O que exatamente faz a média do cliente, "suportado". Certamente isso significa que o telefone em questão apoia a aplicação web e é funcionalidade interna - não seria melhor então esquecer detecção de dispositivos e simplesmente se concentrar em detectar esses recursos necessários para o aplicativo para funcionar corretamente? Por exemplo, se o meu site móvel requer Ajax para o trabalho, em seguida, em vez de listar todos os dispositivos que se diz "suporte Ajax" Eu poderia fazer alguma detecção de objetos simples de descobrir por mim mesmo.
Detecção de dispositivos, assim como a detecção do navegador não é confiável. Sim, é possível, mas eu não recomendo-o ... em um projeto que eu fiz foi utilizada a seqüência de agente do usuário para detectar vários dispositivos. O método indexOf javaScript veio a calhar! :)
Outras dicas
Você pode querer ter um olhar para WURFL, aqui: http://wurfl.sourceforge.net/.
A partir do site:
Então ... O que é WURFL? O WURFL é um arquivo de configuração XML que contém informações sobre as capacidades e características de muitos dispositivos móveis.
O escopo principal do arquivo é recolher o máximo de informação possível sobre todos os dispositivos móveis existentes que as páginas de acesso WAP para que os desenvolvedores serão capazes de construir melhores aplicações e melhores serviços para os usuários.
Outra solução fácil e rápido é Apache Móvel Filtro: http://www.apachemobilefilter.org