Intereting Posts
утвердить идентификацию личности с помощью системы печати пальцев в php & mysql Img tag src соответствие PHP регулярное выражение PHP: Как передать несколько переменных в массив? PHP – проблема с вложенным mysql_fetch_array () сводит меня с ума PHP + S3: разрешение отклонено при удалении файла с помощью unlink () Предотвратить показ строки исходного кода PHPMailer: использование удаленного SMTP-сервера работает под локальным хостом, соединение отклонено (111) на удаленном сервере Логин RESTful Laravel API от приложения в другом домене Управление различиями в форматах даты между PHP и MySQL Получить значение объекта JSON в переменной PHP Путаница с параметрами.yml и config_ (dev | stage | prod) .yml для соединений с базой данных Список открытых URL-адресов Не удается выполнить исходящие HTTP-запросы от бродячих VM использование глобальной переменной DB внутри классов в PHP Как получить результат запроса select count (*) в PHP?

Надежный способ обнаружения рабочего стола и мобильного браузера

Возможный дубликат:
Каков наилучший способ обнаружения браузера в Javascript?

Я хотел бы по существу сделать следующее (в JavaScript или PHP):

if (desktop browser) { do x; } else { // mobile browser do not do x; } 

Известно, что использование метода обнаружения браузера не рекомендуется . Лучшее решение – это тестирование возможностей . Мой вопрос заключается в том, что мобильные браузеры становятся умнее и мощнее настольной версии, что в идеале эксклюзивное обнаружение возможностей для фильтрации рабочего стола от нерабочих браузеров?

Я думаю, что перестановка условной проверки, т.е. if (mobile browser) {} else ... может оказаться более проблематичным, не так ли?

Какой небольшой поиск Google появился, от A Beautiful Site :

 var isMobile = { Android: function() { return navigator.userAgent.match(/Android/i); }, BlackBerry: function() { return navigator.userAgent.match(/BlackBerry/i); }, iOS: function() { return navigator.userAgent.match(/iPhone|iPad|iPod/i); }, Opera: function() { return navigator.userAgent.match(/Opera Mini/i); }, Windows: function() { return navigator.userAgent.match(/IEMobile/i); }, any: function() { return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows()); } }; if(isMobile.any()){ // Mobile! } else { // Not mobile } 

Я не буду утверждать, что обнаружение признаков предпочтительнее для ньюнфирования пользовательского агента, что на самом деле ужасно. Но если вы обнаруживаете функцию, чтобы определить, считается ли устройство мобильным или нет, вы подвергаете себя целому ряду проблем.

Вы не можете проверить pixel-ratio потому что новые компьютеры компьютеров, скорее всего, будут «сетчаткой» или супер-HD. Вы не можете проверить device-orientation потому что это больше не уникально для мобильных телефонов. Вы не можете проверить (если можете) гироскоп, потому что какой-то ноутбук может вернуть значения.

Создавайте веб-сайты, которые работают на всех платформах, не пытаясь их разделить!

Я думаю, что вы ищете функцию get_browser () в php.

Попытка определить возможности браузера пользователя, просмотрев информацию обозревателя в файле browscap.ini.