używam kodu JavaScriptiOS Chrome wykrywanie
if((Android|webOS|iPhone|iPad|iPod|BlackBerry).test(navigator.userAgent)) {}
wykrywania urządzeń mobilnych, ale Chrome na iOS nie jest wykrywany. Czy istnieje sposób, aby to wykryć? Dzięki.
używam kodu JavaScriptiOS Chrome wykrywanie
if((Android|webOS|iPhone|iPad|iPod|BlackBerry).test(navigator.userAgent)) {}
wykrywania urządzeń mobilnych, ale Chrome na iOS nie jest wykrywany. Czy istnieje sposób, aby to wykryć? Dzięki.
według Google Developers, UA ciąg wygląda tak:
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
Gdzie różni się od Safari na iOS tym, że mówi CriOS
zamiast Version
. A więc:
if(navigator.userAgent.match('CriOS'))
Należy to zrobić.
Być może, można spróbować:
var os = navigator.platform;
Następnie obsługiwać zmienną os odpowiednio do wyniku.
Można również pętli każdego przedmiotu obiektu navigator, aby pomóc Ci bardziej zaznajomiony z przedmiotów:
<script type="text/javascript">
for(var i in navigator){
document.write(i+"="+navigator[i]+'<br>');
}
</script>
jak znaleźć w tym anwser: jQuery/Javascript to detect OS without a plugin?
Nie rozwiązuje to określonego scenariusza opisanego w OP, który wykrywa aplikację Chrome na iOS. –
jeśli chcesz prosty prawdziwe/fałszywe odpowiedź:
if(/CriOS/i.test(navigator.userAgent) &&
/iphone|ipod|ipad/i.test(navigator.userAgent)){
return true;
}else{
return false;
}
można użyć roztworu wolny chmura oparciu 51Degrees', aby uzyskać te informacje. W ramach bezpłatnej usługi w chmurze masz dostęp do właściwości BrowserName, która obejmuje Chrome dla iOs.
Oto przykładowy kod, który można wykorzystać. Możesz uzyskać darmowy klucz cloud przechodząc przez strony sklepu tutaj 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>
Aby uzyskać więcej informacji na temat korzystania z API JavaScript chmurze można zobaczyć więcej tutoriali tutaj https://51degrees.com/Developers/Documentation/APIs/Cloud-API/JavaScript-Cloud
Disclosure: Pracuję na 51Degrees
Dlaczego musisz to zrobić? – Blender
Potrzebuję tego do specjalnych efektów wizualnych widocznych tylko na komputerach. – cr1msaun
Wykryj, czy przeglądarka obsługuje dotyk i stosuje klasę do elementu 'body'. Modernizr to robi. – Blender