По-добро откриване на устройства с Android

Оглеждах се за информация относно откриването на устройства с Android срещу устройства с iOS, така че да мога да покажа връзка за изтегляне на приложение за Android или iOS в зависимост от устройството. Всеки отговор, на който съм попадал, казва да потърся потребителския агент "Android" в обекта на навигатора, но след като направих бързо отпечатване на този обект, никъде няма индикация за Android. Мисля, че това трябва да е функция на по-новите устройства с Android. Вместо това трябваше да направя малко работа, като проверя дали обектът носи етикета „Mozilla“, но не и етикета „Chrome“. Изглежда, че това работи добре, но наскоро беше пуснат браузър Chrome за Android ICS+, така че сега какво мога да проверя за това, което отличава мобилно устройство от домашен компютър? Поне в този сценарий съм го настроил (чрез програмиране субтрактивно, а не адитивно), така че ако случайно имат мобилен Chrome, да виждат и двете, но това изглежда небрежно.

//Актуализация - разбрах, че устройствата на HTC (и вероятно някои устройства с пчелна пита) извеждат фалшив потребителски агент, освен ако потребителят не е в "режим на мобилен преглед", който може да бъде включен в техните настройки.

    else if( /(Mozilla)/i.test(navigator.userAgent) !== (/(Chrome)/i.test(navigator.userAgent))) {
    $('a#iphone_app').css("visibility", "hidden");
    $('a#iphone_app').css("display", "none")
    }

person Ian    schedule 10.08.2012    source източник


Отговори (1)


Не сте сигурни дали искате напълно да скриете съдържанието. Може би просто направете едното по-видно от другото. Показването, че поддържате и двете платформи, може да бъде плюс за вас.

userAgent на моя GNex, работещ с Chrome:

"Mozilla/5.0 (Linux; Android 4.0.4; Galaxy Nexus Build/IMM76K) AppleWebKit/535.19 (KHTML, like Gecko) Chrome/18.0.1025.166 Mobile Safari/535.19"

userAgent на моя MacBook, работещ с Crome:

"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_4) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24"
person JDavis    schedule 10.08.2012