Как я могу увидеть, действительно ли tel: связан с устройством, которое может совершать вызовы?

В настоящее время я работаю над проектом, который должен определить, может ли устройство сделать телефонный звонок. В зависимости от того, может это или нет, мне нужно переключать представления и применять две разные функции, одна — это кнопка для совершения звонка на определенный номер с помощью tel: на html, другая — это кнопка для ввода вашего номера, и мы позвоню вам, используя fonality.

В настоящее время мне удалось установить такие плагины/библиотеки, как wurfl или terawurfl, ни один из которых, кажется, не имеет 100% надежного способа определить, может ли мобильный телефон или планшет/рабочий стол сделать телефонный звонок.

Есть ли какое-либо решение на стороне сервера или на стороне пользователя для этого, например, тег, который я пропустил в wurfl/terawurfl, или даже вызов ajax javascript, который я мог бы сделать, чтобы обнаружить «да, тел: работает» или что-то в этом роде.


person Jerry Tseng-shen Hsu    schedule 12.07.2012    source источник
comment
может не ответить на ваш вопрос, но, пожалуйста, взгляните на этот трюк: stackoverflow.com/questions/836777/   -  person Dreaded semicolon    schedule 12.07.2012
comment
Нет; JavaScript ограничен браузером, у него нет доступа к протоколу или связанным с ним обработчикам. Вам нужно будет предложить выбор своему пользователю («Если у вас есть Skype или это телефон, и вы хотите позвонить, нажмите ссылку «Позвонить по этому номеру», в противном случае нажмите кнопку «Мы позвоним вам»). .').   -  person David says reinstate Monica    schedule 12.07.2012
comment
Я действительно думаю, что вам следует пересмотреть свой подход. Даже если телефон/планшет имеет действующую SIM-карту и находится в сети, ему может быть запрещено совершать телефонные звонки оператором или пользователем (запрет вызова/ограничение вызова); или он не сможет позвонить на ваш конкретный номер (нет обслуживания, или международные звонки ограничены и т. д.). Вы не сможете узнать об этом, пока не попытаетесь позвонить на номер, который вы пытаются достичь.   -  person Burhan Khalid    schedule 12.07.2012
comment
Никогда не пробовал, но недавно прочитал о handsetdetection.com.   -  person danneth    schedule 12.07.2012
comment
Я бы не стал беспокоиться об ограничениях или запретах, потому что наши целевые пользователи используют персональные устройства, и, честно говоря, было бы странно ограничивать себя.   -  person Jerry Tseng-shen Hsu    schedule 12.07.2012
comment
handsetdetection.com я действительно видел раньше, но это платная услуга, за которую я бы предпочел найти способ не платить..... Я дешевый, я скорее редактирую все пользовательские агенты в своей базе данных, чем использую их сервис ...   -  person Jerry Tseng-shen Hsu    schedule 12.07.2012
comment
Что касается того и другого, я думал об этом, и мы пытаемся избежать этого.   -  person Jerry Tseng-shen Hsu    schedule 12.07.2012


Ответы (1)


Вот класс PHP, который я использую, который обнаруживает мобильные браузеры, которые вы можете скачать бесплатно. http://code.google.com/p/php-mobile-detect/

После правильной настройки класса вы можете использовать такой код:

if ($detect->isMobile()) {
    // any mobile platform
    // place telephone code here
}

или вы можете быть более конкретным:

if($detect->isiOS()){
    // code to run for the Apple iOS platform.
}

Это обычно используется для создания мобильных веб-сайтов, однако это будет соответствовать вашей цели :)

person Peter Stuart    schedule 12.07.2012
comment
это решение действительно помогает, используя шаблоны в пользовательском агенте вместо базы данных ... плюс вы можете изменить ее и создать новую категорию. Похоже на полезный плагин, но заставляет меня понять, что многие устройства могут иметь номер телефона, но не предназначены для совершения телефонного звонка... - person Jerry Tseng-shen Hsu; 13.07.2012
comment
Совершенно верно, мобильные технологии великолепны, и они будут только улучшаться. Я рад, что это сработало для вас, это экономит много времени и труда, создавая его самостоятельно! Я использую это для мобильных оптимизированных веб-сайтов - person Peter Stuart; 13.07.2012