Maison  >  Article  >  interface Web  >  Comment js détermine-t-il si l'utilisateur accède sur un PC ou un terminal mobile_javascript skills

Comment js détermine-t-il si l'utilisateur accède sur un PC ou un terminal mobile_javascript skills

WBOY
WBOYoriginal
2016-05-16 16:51:111361parcourir

Récemment, nous avons été occupés par le projet de notre équipe "Coffee Wings", dans lequel nous proposons une excellente expérience pour les plateformes mobiles. Avec le développement en plein essor de la plateforme Android. Non seulement il a stimulé l'industrie nationale des smartphones, mais de nombreux développeurs nationaux ont également commencé à rejoindre la vague des terminaux mobiles Android. S'il y a beaucoup de grosses vagues Internet que vous avez manquées. Alors vous ne pouvez absolument pas manquer cette vague Android. À l'heure actuelle, nous avons développé des terminaux mobiles et des clients Android pour « Wings of Coffee ». Si vous utilisez un téléphone mobile avec le système d'exploitation Android ou IOS, vous pouvez directement visiter le nom de domaine www.sygxy.cn pour visualiser les effets du terminal mobile. Dans le même temps, le client Android a été mis en place sur des centres d’applications tels que « App Store » de Tencent et « Baidu Mobile Assistant ». Vous pouvez rechercher directement « Wings of Coffee » pour télécharger. Sans aucune promotion, il compte déjà plus de 100 téléchargements après seulement une semaine dans les rayons.

Si vous avez besoin d'optimiser le terminal mobile, vous devez déterminer quel est le périphérique d'accès du client. Sur la base des résultats du jugement, l'adresse du nom de domaine non résolue est renvoyée, puis différents fichiers CSS sont chargés.

La méthode de jugement que nous utilisons est basée sur la valeur de l'agent utilisateur. Utilisez la propriété userAgent de l'objet Navigator dans le framework javascript. Il n’existe pas de standard public pour l’objet navigateur, mais il est supporté par tous les navigateurs du marché. Utilisez l'attribut userAgent pour renvoyer la valeur de l'en-tête de l'agent utilisateur envoyé par le client au serveur. Il y a un User-Agent dans les informations d'en-tête. Sa fonction est d'indiquer au serveur quel navigateur est le client de l'utilisateur et les informations du système d'exploitation. Utilisez des expressions régulières pour obtenir la valeur de l'agent utilisateur. Elle est jugée par rapport à la valeur locale. Cette valeur correspondante peut être un système d'exploitation mobile tel qu'Android, iOS ou le nom du navigateur. S'il y a une correspondance, il sautera. Sinon, il ne sautera pas et ira directement à la page d'accueil du PC.

Pour l'implémentation de code spécifique, afin d'améliorer la portabilité du site internet, nous utilisons le langage de script JavaScript. De l'avis de l'auteur, l'utilisation de cette technologie présente deux avantages

1 : Elle peut améliorer la portabilité du site Web. Si dans les futurs projets Web, notre équipe doit ajouter à nouveau l'effet des terminaux mobiles, elle le peut. Soyez facilement Introduisez facilement cette partie du code JS et portez un jugement. Améliorer l’efficacité du travail futur.

2 : Le deuxième point est de faciliter le chargement des programmes Web sur différentes interfaces, et s'il faut introduire cette partie du code de jugement du terminal mobile.

Implémentation spécifique :

Nous séparons le script pour juger de l'accès. Si une page doit être jugée par le terminal client, nous utiliserons directement <script></script> sur la page. Programme de script, le code de jugement spécifique est le suivant :

Copier le code Le code est le suivant :

function uaredirect(f ){
try{if(
document.getElementById("bdmark")!=null){
return
}
var b= false;
if(arguments[1] ){
var e=window.location.host;var a=window.location.href
if(isSubdomain(arguments[1],e)== 1){
f=f "/ #m/" a;b=true}else{if(isSubdomain(arguments[1],e)==2){f=f "/#m/" a; b=true}
else{f= a;b=false}}}
else{b=true}if(b){var c=window.location.hash
if(!c. match("fromapp")){
if((navigator.userAgent.match(/(iPhone|iPod|Android|ios|Windows Phone)/i))){location.replace(f)}}}}catch (d)
{}
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn