Sto sviluppando un'applicazione web che utilizza PhoneGap: Build per una versione mobile e desidero avere un'unica base di codice per le versioni "desktop" e mobile. Voglio essere in grado di rilevare se le chiamate PhoneGap funzioneranno (cioè, l'utente su un dispositivo mobile che supporterà PhoneGap).
Ho cercato e non riesco a credere che non ci sia un modo semplice per farlo. Molte persone hanno offerto suggerimenti;
- 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
Nessuno dei quali funziona, a meno che non rimuovi il file Javascript PhoneGap dalla versione desktop dell'app, il che sconfigge il mio obiettivo di avere una base di codice.
Finora l'unica soluzione che ho escogitato è lo sniffing del browser / user agent, ma questo non è a dir poco robusto. Qualsiasi soluzione migliore è benvenuta!
MODIFICA: una soluzione leggermente migliore è provare a chiamare una funzione PhoneGap dopo un breve timeout: se non funziona, supponi che l'utente sia su un browser web desktop.