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>
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>
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("移动端"); }
2.3 Détecter la langue du navigateur
currentLang = navigator.language; //判断除IE外其他浏览器使用语言 if(!currentLang){//判断IE浏览器使用语言 currentLang = navigator.browserLanguage; } alert(currentLang);
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"; };
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>
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>
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!