Как определить планшет, мобильный телефон, рабочий стол, телевизор с помощью JavaScript

Я занимаюсь разработкой веб-приложения, в котором мне нужно обнаружить устройство из JavaScript. Кто-нибудь может сказать мне, как лучше это сделать? Я нашел несколько решений, прибегая к помощи. Но никто не является полным доказательством. Я не хочу использовать обнаружение на стороне сервера, как WURFL.

Мое обновление

Я обнаруживаю устройство путем сопоставления CSS медиа-запросов с использованием JavaScript. Для сопоставления медиазапроса с использованием полифилла Пола Айриша https://github.com/paulirish/matchMedia.js/

2 ответа

Решение

Я советую вам проверить http://wurfl.io/

Короче говоря, если вы импортируете крошечный файл JS:

<script type='text/javascript' src="//wurfl.io/wurfl.js"></script>

у вас останется объект JSON, который выглядит следующим образом:

{
 "complete_device_name":"Google Nexus 7",
 "is_mobile":true,
 "form_factor":"Tablet"
}

(это предполагает, что вы используете Nexus 7, конечно), и вы сможете делать такие вещи, как:

if(WURFL.form_factor == "Tablet"){
    //dostuff();
}

Это то, что вы ищете.

Отказ от ответственности: я работаю в компании, которая предлагает этот бесплатный сервис. Благодарю.

Ты можешь использовать:

1) JS: обнаруживается пользовательским агентом

if (navigator.userAgent.match(/Android|BlackBerry|iPhone|iPad|iPod|Opera Mini|IEMobile/i))

Возьмите строки агента пользователя отсюда: http://www.useragentstring.com/pages/useragentstring.php.

2) CSS: использовать адаптивный дизайн

3) JS: определить ширину экрана по screen.width

Другие вопросы по тегам