web-dev-qa-db-fra.com

Comment détecter une tablette, un mobile, un ordinateur de bureau ou un téléviseur à l'aide de javascript

Je développe une application Web où j'ai besoin de détecter l'appareil à partir de javascript. Quelqu'un pourrait-il me dire quelle est la meilleure façon de le faire? J'ai trouvé plusieurs solutions en recherchant sur Google. Mais personne n'en est la preuve complète. Je ne veux pas utiliser la détection côté serveur comme WURFL.

Ma mise à jour

Je déteste l'appareil en faisant correspondre les requêtes multimédia CSS à l'aide de javascript. Pour la correspondance des requêtes multimédias à l'aide de polyfill par Paul Irish https://github.com/paulirish/matchMedia.js/

24
MAK Ripon

Je vous conseille de vérifier http://wurfl.io/

En bref, si vous importez un petit fichier JS:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

il vous restera un objet JSON qui ressemble à:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(c'est en supposant que vous utilisez un Nexus 7, bien sûr) et vous pourrez faire des choses comme:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Voilà ce que vous recherchez.

Avertissement: je travaille pour l'entreprise qui propose ce service gratuit. Merci.

30
Luca Passani

Vous pouvez utiliser:

1) JS: Détection par l'agent utilisateur

if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i))

Prenez les chaînes d'agent utilisateur à partir d'ici: http://www.useragentstring.com/pages/useragentstring.php .

2) CSS: utilisez un design réactif

3) JS: Détectez la largeur de l'écran par screen.width

44
user2050393