@sergeevpetro
Junior Developer

Как со 100% вероятностью определить мобильный телефон?

Здравствуйте, уважаемые знатоки!

Собственно вопрос в сабже, но есть нюанс - десктопный Хром имеет вот такую фичу joxi.ru/bmoqwkkixyq09A.png

Она эмулирует и юзерагент, и мобильный размер экрана, и ориентацию, и тачскрин.

Есть ли варианты обнаружения такой ситуации?
  • Вопрос задан
  • 546 просмотров
Решения вопроса 1
Sanasol
@Sanasol Куратор тега PHP
нельзя просто так взять и загуглить ошибку
https://stackoverflow.com/a/28084346
It is possible to check for navigator.plugins.length. Mobile browsers have no plugins, so navigator.plugins.length is equal to 0; Desktop browsers ordinary have plugins, so we can distinguish browsers by length of plugins array.


Но в целом не факт что всё так просто.
Ответ написан
Пригласить эксперта
Ответы на вопрос 3
gadfi
@gadfi
https://gamega.org
мы делаем так
export const isMobile = () => {
    if (navigator.userAgent.match(/Android/i)
        || navigator.userAgent.match(/webOS/i)
        || navigator.userAgent.match(/iPhone/i)
        || navigator.userAgent.match(/iPad/i)
        || navigator.userAgent.match(/iPod/i)
        || navigator.userAgent.match(/BlackBerry/i)
        || navigator.userAgent.match(/Windows Phone/i)
    ) {
        return true;
    }
    else {
        return false;
    }
};
Ответ написан
vesper-bot
@vesper-bot
Любитель файрволлов
Никак. Основная проблема - эмуляторы (или ВМ), которые во всех аспектах, включая ОС, user-agent, разрешение экрана и даже оборудование, для стороннего наблюдателя являются мобильными телефонами, на деле - виртуальная среда может исполняться где угодно.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы