2015-01-22 7 views
10

C'è un modo per distinguere un vero dispositivo mobile da un dispositivo emulato da Google Chrome? Si noti che Google Chrome può emulare Useragent, touchscreen, risoluzione dello schermo e accelerometro. Ho bisogno di conoscere alcune caratteristiche che non possono essere emulate ma possono essere rilevate da javascript.Come rilevare se un dispositivo mobile viene emulato da Google Chrome?

+1

Perché vuoi qualcosa di simile? (Solo per curiosità) –

+0

a quale funzione vuoi accedere che non può essere emulata? – JeanLuc

+0

hai controllato la proprietà "window.navigator". – techierishi

risposta

4

È possibile verificare la presenza di navigator.plugins.length. I browser mobili non hanno plugin, quindi navigator.plugins.length è uguale a 0; I browser desktop ordinari hanno plug-in, quindi possiamo distinguere i browser in base alla lunghezza dell'array plugin.

+8

Direi che possiamo anche usare la proprietà navigator.platform. –

+3

Questo non funziona più. 'navigator.plugins.length === 0' su Chrome quando emula iOS. –

+0

var isSmartDevice = /* mobile se Android o iOS e non emulato in mac o win pc (per dev) \ */ (navigator.userAgent.match (/ (android | ip (hone | ad | od))/i) && (! navigator.platform ||! navigator.platform.match (/ (win | mac)/i))) /* o se windows phone o blackberry (nessun elemento di sviluppo in windows) */ || navigator.userAgent.match (/ (windows phone | iemobile | wpdesktop | blackberry)/i); – ekerner

Problemi correlati