Android / iPhone нажмите, чтобы позвонить в html - PullRequest
14 голосов
/ 25 октября 2011

Я создаю один мобильный HTML-сайт для устройств Android и IOS. Я знаю, нажмите, чтобы позвонить обоим.

ANDROID

<a href="tel:2125551212">2125551212</a>

Иос

<a href="callto:2821229627-7877">Live Support</a>

Теперь моя проблема в том, что у меня есть одна веб-страница с ссылкой для вызова и хочу, чтобы эта ссылка работала как для Android / IOS

Ответы [ 5 ]

24 голосов
/ 25 октября 2011

Просто используйте tel:, это будет работать на iOS, Android, BlackBarry OS, Windows и многих других.Использование этой схемы будет работать практически на всех мобильных браузерах.

2 голосов
/ 23 марта 2013

Это работает и для меня.

<a href="tel:2125551212">212-555-1212</a>

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

Простой телефонный номер будет вызываться при нажатии для ОС Android.

<p>212-555-1212</p>

Вы также можете отслеживать этот вызов с помощью AdWords .Я работаю над тем, чтобы заставить его работать с Google Analytics.

1 голос
/ 25 октября 2011

Вы должны узнать клиента.Поскольку разные телефоны имеют разные пользовательские агенты, вы можете сделать что-то подобное с помощью JavaScript:

if (navigator.userAgent.indexOf("Android") != -1) {
    txt = "<a href="tel:2125551212">2125551212</a>";
} else if (navigator.userAgent.indexOf("iPhone") != -1) {
    txt = "<a href="callto:2821229627-7877">Live Support</a>";
}
0 голосов
/ 28 февраля 2019

как на Msaccess Help Australia www.msaccess.com.au Вам нужен только обычный текст, отображаемый в браузерах ПК поэтому поместите эту строку на своей странице

<script type="text/javascript" src="javascript.js"></script>

и сохраните нижеприведенное в файл с именем javascript.js

var ua = navigator.userAgent.toLowerCase(); 
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf      ("mobile");

if (isAndroid)
{document.write('<a class="mobilesOnly" href="tel:++61476132591"> Click here to call tel:++61476132591</a>');}
else
if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPad/i))) 
{document.write('<a class="mobilesOnly" href="tel:++61476132591"> Click here to call now:  tel:++61476132591</a>');}
else 
{document.write('Call ++61476132591') ;}

не забудьте изменить номер:)

0 голосов
/ 28 октября 2016

Что касается поста МойШе, а не для кражи ее кода (дополнения), я бы добавил условное значение по умолчанию для настольных браузеров и прочее, а также используя выражение else по умолчанию.

if (navigator.userAgent.indexOf("Android") != -1) {
txt = "<a href="tel:2125551212">2125551212</a>";
} else if (navigator.userAgent.indexOf("iPhone") != -1) {
txt = "<a href="callto:2821229627-7877">Live Support</a>";
}
<!--what about other devices OS-->
else {
txt = "<span><strong>Phone -</strong> 282-122-9627 ext.7877</span>";
}

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

Я не разбираюсь в Android, BlackBerry, IO, Windows и т. Д. ... но я также хотел бы спросить или указать свой раздел комментариев.

<!--what about other devices OS-->

(Для новичков - вышеприведенная строка кода с комментариями код может быть удален при вставке на веб-страницу).

А как насчет BlackBerry и всех других ОС устройства? Это ОС Android или IO? Если нет, то потребуется также создать дополнительный код для конкретной идентификации этих устройств и включить его в операторы (else if).

Если я прав в своем неизвестном вопросе, оператор Switch / Case может быть чище и лучше.

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