iOS Chrome检测
我使用Javascript代码
if( (Android|webOS|iPhone|iPad|iPod|BlackBerry).test(navigator.userAgent) ) {}
用于移动设备检测,但iOS中的Chrome未被检测到。 有没有办法检测到它? 谢谢。
据Google Developers介绍 ,UAstring如下所示:
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
它与iOS Safari不同之处在于它说CriOS
而不是Version
。 所以这:
if(navigator.userAgent.match('CriOS'))
应该这样做。
如果你想要简单的真/假答案:
if(/CriOS/i.test(navigator.userAgent) && /iphone|ipod|ipad/i.test(navigator.userAgent)){ return true; }else{ return false; }
您可以使用51Degrees的免费云端解决scheme来获取这些信息。 作为免费云服务的一部分,您可以访问包含Chrome for iOs的BrowserName属性。
下面是一些您可以使用的示例代码。 你可以在这里通过商店页面获得免费的云密钥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>
有关使用JavaScript Cloud API的更多信息,可以在这里查看更多教程https://51degrees.com/Developers/Documentation/APIs/Cloud-API/JavaScript-Cloud
披露:我在51Degrees工作
也许,你可以尝试:
var os = navigator.platform;
然后根据你的结果处理osvariables。
您还可以遍历导航器对象的每个对象,以帮助您更熟悉对象:
<script type="text/javascript"> for(var i in navigator){ document.write(i+"="+navigator[i]+'<br>'); } </script>
正如在这个安卓发现: jQuery / Javascript来检测操作系统没有插件?