Czy istnieje sposób na wykrycie, czy bieżący użytkownik używa iPada przy użyciu jQuery / JavaScript?
źródło
Czy istnieje sposób na wykrycie, czy bieżący użytkownik używa iPada przy użyciu jQuery / JavaScript?
Wykrywanie iPada
Powinieneś być w stanie wykryć użytkownika iPada, patrząc na userAgent
właściwość:
var is_iPad = navigator.userAgent.match(/iPad/i) != null;
Wykrywanie iPhone'a / iPoda
Podobnie platform
właściwość do sprawdzania urządzeń takich jak iPhone czy iPod:
function is_iPhone_or_iPod(){
return navigator.platform.match(/i(Phone|Pod))/i)
}
Uwagi
Chociaż to działa, generalnie należy unikać wykrywania specyficznego dla przeglądarki, ponieważ często może to być zawodne (i może być sfałszowane). W większości przypadków preferowane jest użycie rzeczywistego wykrywania funkcji , które można wykonać za pomocą biblioteki takiej jak Modernizr .
Jak wskazano w odpowiedzi Brennen , podczas wykonywania tego wykrywania w aplikacji Facebook mogą pojawić się problemy. Zobacz jego odpowiedź dotyczącą obsługi tego scenariusza.
Powiązane zasoby
Chociaż zaakceptowane rozwiązanie jest poprawne dla iPhone'ów, będzie błędnie deklarować oba
isiPhone
iisiPad
będzie prawdziwe dla użytkowników odwiedzających Twoją witrynę na iPadzie z aplikacji Facebook.Tradycyjna opinia jest taka, że urządzenia iOS mają agenta użytkownika dla Safari i klienta użytkownika dla UIWebView. To założenie jest nieprawidłowe, ponieważ aplikacje na iOS mogą i dostosowują swojego klienta użytkownika. Głównym przestępcą jest tutaj Facebook.
Porównaj te ciągi klientów użytkownika z urządzeń z systemem iOS:
Zwróć uwagę, że na iPadzie ciąg agenta użytkownika Facebook UIWebView zawiera „iPhone”.
Stary sposób identyfikacji iPhone'a / iPada w JavaScript:
Gdybyś miał zastosować to podejście do wykrywania iPhone'a i iPada, skończyłoby się na tym, że IS_IPHONE i IS_IPAD byłyby prawdziwe, jeśli użytkownik pochodzi z Facebooka na iPadzie. Może to spowodować dziwne zachowanie!
Prawidłowy sposób identyfikacji iPhone'a / iPada w JavaScript:
Deklarujemy, że IS_IPHONE jest fałszywe na iPadach, aby pokryć dziwaczny agent użytkownika Facebook UIWebView na iPada. To jest jeden z przykładów zawodności wykrywania klientów użytkownika. Im więcej aplikacji na iOS dostosowuje swojego klienta użytkownika, tym więcej problemów będzie mieć z podsłuchiwaniem klienta użytkownika. Jeśli możesz uniknąć podsłuchiwania klienta użytkownika (wskazówka: CSS Media Queries), ZRÓB TO.
źródło
/iPh?o(ne|d)/i
lub/(iPhone|iPod)/i
jeśli masz zamiar wydać iPhod: P.Używam tego:
źródło
Używam tego:
źródło