Как определить планшет, мобильный телефон, рабочий стол, телевизор с помощью 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