HTML5: обнаружение, если вы находитесь на мобильном телефоне или ПК с javascript? [дубликат]
этот вопрос уже есть ответ здесь:
какой код javascript я могу использовать, чтобы определить, находятся ли пользователи на мобильном или ПК/Mac-браузере в HTML5?
1 ответов
Я изучал это несколько лет назад. Короче говоря, вы не можете сделать это со 100% надежностью. Кажется, есть 2 подхода, обычно используемые для обеспечения "наилучшего предположения":
1. Обнаружение Агента Пользователя Здесь вы проверяете, что такое клиент утверждено быть. например,
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
// is mobile..
}
это не идеально, так как я считаю, что это довольно легко для этого свойства быть изменены случайно или иным образом. Плюс крайне маловероятно, что этот список будет по-прежнему быть точным через 2 года / 2 недели / 2 дня!
2. Использование Возможностей Клиента Как вы можете себе представить, более прагматичный подход - позволяет удовлетворить известные физические возможности клиента. например,
if( screen.width <= 480 ) {
// is mobile..
}
однако это тоже не идеально, так как более высокие и более высокие плотности пикселей в современных устройствах дают вам вводящий в заблуждение результат: кажется, что у вас больше "комнаты", чем на самом деле. Плюс различные браузеры могут выставлять свои возможности с помощью различных средств.
Если у кого-то есть лучшие идеи, чтобы надежно различать между рабочим столом и устройством, прокомментируйте! :)