Есть ли элегантный способ обнаружения мобильных браузеров? - PullRequest
0 голосов
/ 12 января 2012

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

У меня возникли проблемы с поиском способа надежного обнаружения мобильных устройств. В настоящее время я код JavaScript, как это:

if (document.documentElement.clientWidth < 680 || 
    document.documentElement.clientHeight < 450) 
  location.href = "handheld.aspx";

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

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

Есть ли менее хитрый способ обнаружения мобильных браузеров или, по крайней мере, более надежный способ определения размера экрана?

Ответы [ 4 ]

3 голосов
/ 12 января 2012

Вы должны решить, какой аспект мобильного браузера вы больше всего пытаетесь обнаружить. Вы пытаетесь определить размер экрана и перенаправить на дизайн сайта, который помещается на меньшем экране. Если это так, вы можете использовать window.screen ( документ здесь ).

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

0 голосов
/ 02 мая 2012

Обнаружение на основе размера экрана - проигрышная битва в мире, где новые размеры экрана появляются слева и справа. Вы должны использовать обнаружение на стороне сервера и соответственно изменить свое представление. Использование таких услуг, как Device Atlas или WURFL, поможет вам в будущем и даст гораздо больше возможностей, которые вы, скорее всего, сможете реализовать самостоятельно.

Кстати, мобильные перенаправления на основе JS являются худшим решением с точки зрения производительности, и его следует избегать.

0 голосов
/ 13 января 2012

Если вы хотите легко исправить это, вы можете попробовать handsetdetection javascript Это дает вам возможность устанавливать правила и условия, такие как размер экрана, поставщик, ОС, браузер, ширина и высота дисплея для вашего перенаправление. А если вы увлекаетесь статистикой, у HD есть отличные аналитические отчеты, которые вы можете использовать для точной настройки того, как ваше перенаправление подается пользователям / посетителям вашего сайта.

0 голосов
/ 12 января 2012

Нет.Вы застряли либо с проверкой размера экрана, либо с пользовательским агентом

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...