Função de uma linha para detectar dispositivos móveis com JavaScript

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