Отключить обнаружение номера телефона на веб-ссылках iPad на рабочем столе? - PullRequest
11 голосов
/ 24 ноября 2010

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

<meta name = "format-detection" content = "telephone=no">

Однако это не похоже на работу. Есть ли другой механизм HTML / CSS / JavaScript для управления этим поведением?

Случайная вставка тегов привязки вызывает у меня много ошибок CSS.

Обход

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

воспроизводящих

Шаги для воспроизведения:

  1. Открыть страницу на iPad Safari
  2. Используйте Добавить на главный экран Функция закладки
  3. Запуск главного экрана icon

Пример страницы:

<!DOCTYPE html>
<html>
<head>
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name = "format-detection" content = "telephone=no">
<title>Telephone detect</title>
</head>
<body>
expected:
<a href="tel:1555555">1555555</a>
<br />
bad: 1555555
<br />
bad: &#x31;&#x35;&#x35;&#x35;&#x35;&#x35;&#x35;
<br />
inconvenient: 1&#xFEFF;555555
</body>
</html>

Примечания

Этот вопрос , похоже, связан, но в нем отсутствуют детали, и я не уверен, идентично ли поведение на iPhone. Это веб-приложение и не имеет собственного компонента. iPad версия 3.2.2.

Ответы [ 4 ]

7 голосов
/ 21 июля 2011

У меня работает метатег в asp.net. Я думаю, что это не сработало для OP, потому что HTML не очень хорошо сформирован. Браузеры Mozilla без IE имеют проблемы с искаженным XML / Html. Изменение

<meta name = "format-detection" content = "telephone=no">

до

<meta name = "format-detection" content = "telephone=no" />

3 голосов
/ 07 июня 2013

Поставьте это после загрузки ссылки на телефон

if (navigator.userAgent.match(/(iPhone|Android|BlackBerry)/)) {
//this is the phone

} else if (navigator.userAgent.match(/(iPod|iPad)/)) {
    $('a[href^=tel]').click(function(e){
       e.preventDefault();
    });
} else {
 //this is the browser

    $('a[href^=tel]').click(function(e){
        e.preventDefault();
    });
}
2 голосов
/ 17 июля 2014

Метатег будет работать:

<meta name="format-detection" content="telephone=no" />

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

1 голос
/ 05 декабря 2010

хорошо, исправили это .. добавили <a href link> и стилизовали его без украшения текста ... Я использовал элемент управления asp: hyperlink в asp.net, и он работал на 3.2, поэтому не уверен, почему он остановился в4.2, но при использовании стандартной ссылки работает.

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