Estou desenvolvendo um aplicativo da web que usa PhoneGap: Build para uma versão móvel e quero ter uma única base de código para as versões 'desktop' e móvel. Quero ser capaz de detectar se as chamadas do PhoneGap funcionarão (ou seja, se o usuário está em um dispositivo móvel compatível com o PhoneGap).
Eu procurei e não consigo acreditar que não existe uma maneira simples de fazer isso. Muitas pessoas deram sugestões;
- http://www.sencha.com/forum/showthread.php?144127-Checking-if-running-in-PhoneGap-or-Mobile-Web-Browser
- http://groups.google.com/group/phonegap/browse_thread/thread/322e80bd41bb1a54/a421300eb2a2029f?lnk=gst&q=detect+desktop#a421300eb2a2029f
- http://groups.google.com/group/phonegap/browse_thread/thread/8a95dfeb0f313792/3ff10d8f35211739?lnk=gst&q=detect+desktop+browser#3ff10d8f35211739
Nada disso funciona, a menos que você remova o arquivo Javascript do PhoneGap da versão desktop do aplicativo, o que anula meu objetivo de ter uma base de código.
Até agora, a única solução que encontrei foi farejar o navegador / agente do usuário, mas isso não é robusto para dizer o mínimo. Quaisquer soluções melhores são bem-vindas!
EDIT: Uma solução marginalmente melhor é tentar chamar uma função PhoneGap após um pequeno tempo limite - se não funcionar, suponha que o usuário esteja em um navegador da web de desktop.