Détection Chrome iOS

J'utilise le code Javascript

if( (Android|webOS|iPhone|iPad|iPod|BlackBerry).test(navigator.userAgent) ) {} 

Pour la détection des périphériques mobiles, mais Chrome at iOS n'est pas détecté. Existe-t-il un moyen de le détecter? Merci.

Selon Google Developers , la chaîne UA ressemble à ceci:

 Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en) AppleWebKit/534.46.0 (KHTML, like Gecko) CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3 

Là où il diffère d'iOS Safari en ce qu'il dit CriOS au lieu de Version . Donc ça:

 if(navigator.userAgent.match('CriOS')) 

Doit le faire.

Si vous voulez une réponse simple / fausse simple:

 if(/CriOS/i.test(navigator.userAgent) && /iphone|ipod|ipad/i.test(navigator.userAgent)){ return true; }else{ return false; } 

Vous pouvez utiliser la solution gratuite basée sur le cloud de 51Degrees pour obtenir cette information. Dans le cadre du service cloud gratuit, vous avez accès à la propriété BrowserName qui comprend Chrome pour les iO.

Un exemple de code que vous pouvez utiliser est ci-dessous. Vous pouvez obtenir la clé de cloud gratuit en parcourant la page du magasin ici https://51degrees.com/products/store/rvdsfcatid/cloud-device-detection-7

 <!DOCTYPE html> <html> <body> <p id="id01"></p> <script> var xmlhttp = new XMLHttpRequest(); <!-- Insert Cloud key here. --> var key = "Licence Key" <!-- Receives UserAgent from clients connection. --> var ua = window.navigator.userAgent; <!-- Lists the properties required. --> var url = ("https://cloud.51degrees.com/api/v1/"+key+"/match?user-agent="+ua+"&Values=\ BrowserName"); <!-- Parses the JSON object from our cloud server and returns values. --> xmlhttp.onreadystatechange = function(){ if ( xmlhttp.readyState == 4 && xmlhttp.status == 200){ var match = JSON.parse(xmlhttp.responseText); var text = "" document.getElementById("id01").innerHTML=\ "UserAgent:"+ua+"</br>"+ "BrowserName:"+match.Values.BrowserName; } } <!-- Sends request to server. --> xmlhttp.open("GET", url, true); xmlhttp.send(); </script> </body> </html> 

Pour plus d'informations sur l'utilisation de l'API JavaScript Cloud, vous pouvez voir plus de tutoriels ici https://51degrees.com/Developers/Documentation/APIs/Cloud-API/JavaScript-Cloud

Divulgation: Je travaille à 51Degrees

Peut-être, vous pourriez essayer:

 var os = navigator.platform; 

Ensuite, manipulez la variable os en conséquence pour votre résultat.

Vous pouvez également parcourir chaque objet de l'objet navigateur pour vous familiariser davantage avec les objets:

 <script type="text/javascript"> for(var i in navigator){ document.write(i+"="+navigator[i]+'<br>'); } </script> 

Comme cela a été trouvé dans cette application: jQuery / Javascript pour détecter le système d'exploitation sans un plugin?