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?