Maison > interface Web > js tutoriel > Comment déterminer le type de client dans JS

Comment déterminer le type de client dans JS

php中世界最好的语言
Libérer: 2018-04-13 17:39:20
original
1594 Les gens l'ont consulté

Cette fois, je vais vous montrer comment déterminer le type de client avec JS. Quelles sont les précautions pour que JS détermine le type de client. Voici un cas pratique, jetons un coup d'œil.

Avant-propos

Lorsque nous écrivons une responsive layout, nous devons toujours nous demander s'il s'agit d'un client mobile. Sur cette base, voici 4 méthodes pour déterminer si le client est iOS ou Android. Partagez-le pour référence et étude par tous. Jetons un coup d'œil à l'introduction détaillée avec l'éditeur.

La méthode est la suivante :

1. La première : Utiliser des règles régulières pour déterminer s'il s'agit d'un client iOS ou Android en jugeant le userAgent du navigateur

L'agent utilisateur est appelé agent utilisateur en chinois. Il fait partie du protocole HTTP et est un composant du domaine d'en-tête User. L'agent est également appelé UA. Il s'agit d'un en-tête de chaîne caractère spécial , qui est un identifiant qui fournit le type et la version du navigateur, le système d'exploitation et la version, le noyau du navigateur et d'autres informations que vous utilisez sur le site Web. Passez cette marque Comprendre que les sites Web visités par les utilisateurs peuvent afficher différentes présentations pour offrir aux utilisateurs une meilleure expérience ou effectuer des statistiques d'informations. Par exemple, accéder à Google sur un téléphone mobile est différent d'accéder à un ordinateur ; UA jugera. UA peut se déguiser.

Le format standard de la chaîne UA du navigateur : identification du navigateur (identification du système d'exploitation ; identification du niveau de cryptage ; langue du navigateur) rendant les informations de version d'identification du moteur. Mais chaque navigateur est différent.

Le code est le suivant :

<script type="text/javascript">
 var u = navigator.userAgent;
 var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
 var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
 alert('是否是Android:'+isAndroid);
 alert('是否是iOS:'+isiOS);
</script>
Copier après la connexion

2. La deuxième méthode : vérifiez s'il s'agit d'un mobile, d'un iPad, d'un iPhone, de WeChat, de QQ, etc.

2.1 Le code est le suivant :

<script type="text/javascript">
//判断访问终端
var browser={
 versions:function(){
  var u = navigator.userAgent, 
   app = navigator.appVersion;
  return {
   trident: u.indexOf('Trident') > -1, //IE内核
   presto: u.indexOf('Presto') > -1, //opera内核
   webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
   gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,//火狐内核
   mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否为移动终端
   ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
   android: u.indexOf('Android') > -1 || u.indexOf('Adr') > -1, //android终端
   iPhone: u.indexOf('iPhone') > -1 , //是否为iPhone或者QQHD浏览器
   iPad: u.indexOf('iPad') > -1, //是否iPad
   webApp: u.indexOf('Safari') == -1, //是否web应该程序,没有头部与底部
   weixin: u.indexOf('MicroMessenger') > -1, //是否微信 (2015-01-22新增)
   qq: u.match(/\sQQ/i) == " qq" //是否QQ
  };
 }(),
 language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
</script>
Copier après la connexion

2.2 Comment utiliser

/判断是否IE内核
if(browser.versions.trident){ alert("is IE"); }
//判断是否webKit内核
if(browser.versions.webKit){ alert("is webKit"); }
//判断是否移动端
if(browser.versions.mobile||browser.versions.android||browser.versions.ios){ alert("移动端"); }
Copier après la connexion

2.3 Détecter la langue du navigateur

currentLang = navigator.language; //判断除IE外其他浏览器使用语言
if(!currentLang){//判断IE浏览器使用语言
currentLang = navigator.browserLanguage;
}
alert(currentLang);
Copier après la connexion

3. Déterminer le client iPhone|iPad|iPod|iOS|Android

Le code est le suivant :

if (/(iPhone|iPad|iPod|iOS)/i.test(navigator.userAgent)) { //判断iPhone|iPad|iPod|iOS
 //alert(navigator.userAgent); 
 window.location.href ="iPhone.html";
} else if (/(Android)/i.test(navigator.userAgent)) { //判断Android
 //alert(navigator.userAgent); 
 window.location.href ="Android.html";
} else { //pc
 window.location.href ="pc.html";
};
Copier après la connexion

4. Déterminez la version PC ou mobile

Le code est le suivant :

<script>
  //判断是否手机端访问
 var userAgentInfo = navigator.userAgent.toLowerCase();
 var Agents = ["android", "iphone",
    "symbianos", "windows phone",
    "ipad", "ipod"];
 var ly=document.referrer; //返回导航到当前网页的超链接所在网页的URL
 for (var v = 0; v < Agents.length; v++) {
  if (userAgentInfo.indexOf(Agents[v]) >= 0&&(ly==""||ly==null)) {
   this.location.href='http://m.***.com'; //wap端地址
  }
 }
</script>
Copier après la connexion

5. Codes de saut courants

Regardez le code

<script type="text/javascript">
 // borwserRedirect
 (function browserRedirect(){
  var sUserAgent = navigator.userAgent.toLowerCase();
  var bIsIpad = sUserAgent.match(/ipad/i) == 'ipad';
  var bIsIphone = sUserAgent.match(/iphone os/i) == 'iphone os';
  var bIsMidp = sUserAgent.match(/midp/i) == 'midp';
  var bIsUc7 = sUserAgent.match(/rv:1.2.3.4/i) == 'rv:1.2.3.4';
  var bIsUc = sUserAgent.match(/ucweb/i) == 'web';
  var bIsCE = sUserAgent.match(/windows ce/i) == 'windows ce';
  var bIsWM = sUserAgent.match(/windows mobile/i) == 'windows mobile';
  var bIsAndroid = sUserAgent.match(/android/i) == 'android';
  var pathname = location.pathname
  if(bIsIpad || bIsIphone || bIsMidp || bIsUc7 || bIsUc || bIsCE || bIsWM || bIsAndroid ){
  window.location.href = 'http://m.geekjc.com'+pathname; //wap端地址
  }
 })();
 </script>
Copier après la connexion

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le site Web chinois de PHP !

Lecture recommandée :

Comment webpack extrait les bibliothèques tierces

Étapes pour implémenter le développement de sites multipages avec webpack+express

Comment créer un environnement de développement vue avec vue-cli+webpack

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal