Encontrei essa função no StackOverFlow e acho que é brilhante. Esta função verifica se window.orientation existe, porque normalmente os computadores desktop e laptops não o têm, geralmente retorna true em dispositivos móveis.
Já usei em vários projetos e posso dizer que funciona perfeitamente. No entanto, você deve levar em conta que talvez não seja 100% confiável e alguns dispositivos podem dar “falso” (não encontrei nenhum problema ainda).
function isMobileDevice() {
return (typeof window.orientation !== "undefined") || (navigator.userAgent.indexOf('IEMobile') !== -1);
};
Testei essa função com bons resultados nos navegadores Windows 7 e Mac OS X (Chrome, Firefox, Safari, IE9 / 10), Android 4, Windows Phone 8 e iOS 6.
Se você deseja testar um dispositivo, entre nesta página:
http://twofuckingdevelopers.com/examples/ismobiledevice/
Caso seu dispositivo não seja compatÃvel, adicione um comentário e tentaremos corrigi-lo e atualizar a função.
Lista de dispositivos testados e com funcionamento confirmado:
- Navegadores Safari, Chrome, IE10 e Firefox Windows 7/8
- Safari iOS
- Chrome iOS
- Opera Coast iOS
- Android Stock Browser
- Chrome para Android
- Firefox para Android
- Opera para Android
- Dolphin para Android
- IE Windows Phone 7.8 e Windows Phone 8