Comment puis-je détecter si un utilisateur consulte mon site Web à partir d'un navigateur Web mobile afin que je puisse ensuite détecter et afficher automatiquement la version appropriée de mon site Web?
291
Comment puis-je détecter si un utilisateur consulte mon site Web à partir d'un navigateur Web mobile afin que je puisse ensuite détecter et afficher automatiquement la version appropriée de mon site Web?
Réponses:
Oui, la lecture de l'en-tête User-Agent fera l'affaire.
Il y a des listes sur il des agents utilisateurs mobiles connus de sorte que vous n'avez pas besoin de repartir à zéro. Ce que j'ai fait lorsque je devais le faire, c'est de créer une base de données d'agents utilisateurs connus et de stocker les inconnues lors de leur détection pour révision, puis de déterminer manuellement ce qu'elles sont. Cette dernière chose pourrait être exagérée dans certains cas.
Si vous voulez le faire au niveau Apache, vous pouvez créer un script qui génère périodiquement un ensemble de règles de réécriture vérifiant l'agent utilisateur (ou juste une fois et oubliez les nouveaux agents utilisateurs, ou une fois par mois, selon votre cas), comme
qui déplacerait, par exemple, les demandes vers http: //domain/index.html vers http: //domain/mobile/index.html
Si vous n'aimez pas l'approche consistant à faire recréer périodiquement un fichier htaccess par un script, vous pouvez écrire un module qui vérifie l'agent utilisateur (je n'en ai pas trouvé un déjà fait, mais j'ai trouvé cet exemple particulièrement approprié ) et obtenir les agents utilisateurs de certains sites pour les mettre à jour. Ensuite, vous pouvez compliquer l'approche autant que vous le souhaitez, mais je pense que dans votre cas, l'approche précédente conviendrait.
la source
Il existe des scripts open source sur Detect Mobile Browser qui le font dans Apache, ASP, ColdFusion, JavaScript et PHP.
la source
Juste une pensée mais que se passe-t-il si vous travaillez ce problème dans la direction opposée? Plutôt que de déterminer quels navigateurs sont mobiles, pourquoi ne pas déterminer quels navigateurs ne le sont pas? Ensuite, codez votre site par défaut sur la version mobile et redirigez-le vers la version standard. Il existe deux possibilités de base lorsque vous regardez un navigateur mobile. Soit il prend en charge javascript, soit il ne l'est pas. Donc, si le navigateur n'a pas de support javascript, il sera par défaut à la version mobile. S'il prend en charge JavaScript, vérifiez la taille de l'écran. Tout ce qui est inférieur à une certaine taille sera probablement également un navigateur mobile. Tout ce qui est plus grand sera redirigé vers votre mise en page standard. Ensuite, tout ce que vous devez faire est de déterminer si l'utilisateur avec JavaScript désactivé est mobile ou non.
Selon le W3C, le nombre d'utilisateurs avec JavaScript désactivé était d'environ 5% et la plupart des utilisateurs l'ont désactivé, ce qui implique qu'ils savent réellement ce qu'ils font avec un navigateur. Sont-ils une grande partie de votre public? Sinon, ne vous en faites pas. Si oui, quel est le pire des cas? Vous avez ces utilisateurs qui parcourent la version mobile de votre site, et c'est une bonne chose.
la source
Voici comment je le fais en JavaScript:
Voir un exemple sur www.tablemaker.net/test/mobile.html où il triple la taille de police sur les téléphones mobiles.
la source
Mon mécanisme de détection de navigateur mobile préféré est WURFL . Il est mis à jour fréquemment et fonctionne avec toutes les principales plateformes de programmation / langage.
la source
Avez-vous envisagé d'utiliser des requêtes multimédias CSS3? Dans la plupart des cas, vous pouvez appliquer certains styles CSS spécifiquement pour l'appareil ciblé sans avoir à créer une version mobile distincte du site.
Vous pouvez définir la largeur comme vous le souhaitez, mais le 1025 capturera la vue paysage de l'iPad.
Vous voudrez également ajouter la balise META suivante à votre tête:
Consultez cet article sur HTML5 Rocks pour de bons exemples
la source
pour ANDROID, IPHONE, IPAD, BLACKBERRY, PALM, WINDOWS CE, PALM
la source
Le fichier de navigateur de périphérique mobile est un excellent moyen de détecter les navigateurs mobiles (et autres) pour les projets ASP.NET: http://mdbf.codeplex.com/
la source
Vous pouvez détecter les clients mobiles simplement via
navigator.userAgent
, et charger des scripts alternatifs basés sur le type de client détecté comme:la source
Vous pouvez vérifier la chaîne User-Agent. En JavaScript, c'est vraiment facile, c'est juste une propriété de l'objet navigateur.
Vous pouvez vérifier si l'appareil iPhone ou Blackberry dans JS avec quelque chose comme
si isIphone est vrai, vous accédez au site à partir d'un Iphone, si isBlackBerry vous accédez au site à partir d'un Blackberry.
Vous pouvez utiliser le plugin "UserAgent Switcher" pour Firefox pour tester cela.
Si vous êtes également intéressé, cela peut valoir la peine de consulter mon script "redirection_mobile.js" hébergé sur github ici https://github.com/sebarmeli/JS-Redirection-Mobile-Site et vous pouvez lire plus de détails dans l'un des mon article ici:
http://blog.sebarmeli.com/2010/11/02/how-to-redirect-your-site-to-a-mobile-version-through-javascript/
la source
Cet exemple fonctionne dans asp.net
la source
Vous n'avez pas dit quelle langue vous utilisez. Si c'est Perl alors c'est trivial:
la source
Oui, l'agent utilisateur est utilisé pour détecter les navigateurs mobiles. Il existe de nombreux scripts gratuits disponibles pour vérifier cela. Voici un tel code php qui vous aidera à rediriger les utilisateurs mobiles vers différents sites Web.
la source
J'ai mis cette démo avec des scripts et des exemples inclus:
http://www.mlynn.org/2010/06/mobile-device-detection-and-redirection-with-php/
Cet exemple utilise des fonctions php pour la détection d'agent utilisateur et offre l'avantage supplémentaire de permettre aux utilisateurs d'indiquer une préférence pour une version du site qui ne serait généralement pas la valeur par défaut en fonction de leur navigateur ou type d'appareil. Cela se fait avec des cookies (maintenus en utilisant php côté serveur par opposition à javascript.)
Assurez-vous de consulter le lien de téléchargement dans l'article pour les exemples.
Espérons que vous apprécierez!
la source
MobileESP dispose de crochets PHP, Java, APS.NET (C #), Ruby et JavaScript. il possède également la licence Apache 2, donc gratuite pour une utilisation commerciale. L'essentiel pour moi est qu'il n'identifie que les navigateurs et les plates-formes, pas les tailles d'écran et autres mesures, ce qui le maintient bien petit.
la source
Il existe une toute nouvelle solution utilisant Zend Framework. Commencez par le lien vers Zend_HTTP_UserAgent:
http://framework.zend.com/manual/en/zend.http.html
la source