Как обнаружить телефон с сенсорным экраном для мобильного сайта - PullRequest
2 голосов
/ 18 марта 2011

У меня есть две мобильные страницы: одна предназначена для телефонов с сенсорным экраном, а другая - для телефонов без сенсорного экрана.Мне нужно обнаружить и перенаправить в зависимости от типа.

Я пытаюсь провести мозговой штурм здесь.Я думал о возможном определении разрешения экрана и его использовании, но телефоны, такие как Blackberry Bold (не сенсорный, но с дисплеем 480x320), не вписываются в это правило.

Очевидное решение состоит в том, чтобы поддерживать два списка пользовательских агентов.и использовать их для перенаправления.Проблема в том, что создание этих списков заняло бы довольно много времени.Я также представляю, что, как только я начну изучать его, возникнут всевозможные исключения, когда браузер, такой как Opera Mini, работает на двух телефонах (одно касание и одно без касания).Если это мой единственный вариант, есть идеи, с чего начать сбор данных о телефонах?

var touchScreenRegEx = new RegExp("(ipod|iphone|opera mini)");
var noTouchScreenRegEx = new RegExp("(blackberry|palm)");

var userAgent=navigator.userAgent.toLowerCase();
if (userAgent.match(touchScreenRegEx))
{        window.location = "/mobile/touch/"; 
} 
else if(userAgent.match(noTouchScreenRegEx)
{
   window.location = "/mobile/no-touch/";
}

Есть предложения?

Ответы [ 2 ]

2 голосов
/ 19 марта 2011

"Очевидное решение состоит в том, чтобы поддерживать два списка пользовательских агентов и использовать их для перенаправления"

WIRFL:

http://wurfl.sourceforge.net/

Сохранить вИмейте в виду, что есть телефоны с сенсорным и клавиатурным доступом, поэтому в идеале вы должны избегать создания двух отдельных интерфейсов, если можете помочь.

1 голос
/ 19 марта 2011

Для хорошего обзора начала искусства проверьте:

http://yiibu.com/articles/rethinking-the-mobile-web/

Таким образом, использование WURFL или DeviceAtlas для определения поддержки касания на основе пользовательского агента, вероятно, является самым простым и быстрым способом выполнить то, что вы ищете.

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