Как отключить ссылку на номер телефона в Mobile Safari?

Safari на iPhone автоматически создает ссылки на строки цифр, которые отображаются на номера телефонов. Я пишу веб-страницу, содержащую IP-адрес, и Safari превращает это в ссылку номера телефона. Можно ли отключить это поведение для всей страницы или элемента на странице?

+313
22 окт. '08 в 15:00
источник поделиться
24 ответа

Это, по-видимому, правильная вещь, согласно Сафари HTML Reference:

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

Если вы отключите это, но все еще хотите использовать телефонные линии, вы все равно можете использовать схему URI "tel".

Вот соответствующая страница в Apple Developer Library.

+627
22 окт. '08 в 19:36
источник

Связанные вопросы


Похожие вопросы

У меня была такая же проблема. Я нашел свойство в UIWebView, которое позволяет отключить детектор данных.

self.webView.dataDetectorTypes = UIDataDetectorTypeNone;
+33
05 апр. '11 в 20:18
источник

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

.element { pointer-events: none; }
.element > a { text-decoration:none; color:inherit; }

Первое правило отключает клик, второй - стиль.

+31
12 мар. '13 в 10:29
источник

Добавьте это, я думаю, это то, что вы ищете:

<meta name = "format-detection" content = "telephone=no">
+27
22 окт. '08 в 15:18
источник

Я использую сток-станцию ​​с нулевой шириной &zwj;

Просто поместите это где-нибудь в номер телефона, и это работает для меня. Протестировано в BrowserStack (и Litmus для писем).

+18
20 апр. '16 в 3:15
источник

Решение для Webview!

Для приложений PhoneGap-iPhone/PhoneGap-iOS вы можете отключить обнаружение номера телефона, добавив следующее в делегат приложения проектов:

// ...

- (void)webViewDidStartLoad:(UIWebView *)theWebView 
{
    // disable telephone detection, basically <meta name="format-detection" content="telephone=no" />
    theWebView.dataDetectorTypes = UIDataDetectorTypeAll ^ UIDataDetectorTypePhoneNumber;

    return [ super webViewDidStartLoad:theWebView ];
}

// ...

источник: Отключить обнаружение телефона в PhoneGap-iOS.

+11
15 окт. '11 в 13:45
источник

Чтобы отключить обнаружение номера телефона на части страницы, оберните затронутый текст в тег привязки с помощью href= "#". Если вы это сделаете, мобильные Safari и UIWebView должны оставить его в покое.

<a href="#"> 1234567 </a>
+7
14 июн. '11 в 19:53
источник

Думаю, я нашел решение: поместил число внутри элемента <label>. Не пробовал другие теги, но <div> оставил его активным на главном экране, даже с атрибутом telephone=no.

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

+7
09 авг. '10 в 6:48
источник

Мой опыт такой же, как и некоторые другие. Метатег...

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

... работает, когда веб-сайт работает в Mobile Safari (т.е. с хром), но перестает работать при запуске как webapp (т.е. сохраняется на главном экране и работает без хрома).

Мое меньшее, чем идеальное решение - вставить значения в поля ввода...

<input type="text" readonly="readonly" style="border:none;" value="3105551212">

Это меньше, чем идеально, потому что, несмотря на то, что граница не установлена ​​ни на один, iOS отображает серию над несколькими пикселями над полем. Но, это лучше, чем видеть номер как ссылку.

+5
05 сент. '11 в 8:14
источник

У меня был ABN (австралийский бизнес-номер), который iPad Safari настаивал на превращении в ссылку номера телефона. Ни одно из предложений не помогло. Мое решение состояло в том, чтобы поместить img-теги между номерами.

ABN 98<img class="PreventSafariFromTurningIntoLink" /> 009<img /> 675<img /> 709

Класс существует только для документирования тэгов img.

Работает на iPad 1 (4.3.1) и iPad 2 (4.3.3).

+5
18 мая '11 в 15:54
источник

У меня была та же проблема, но на веб-приложении iPad.

К сожалению, ни...

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

и...

&#48; = 0
&#57; = 9

... работал.

Но вот три уродливых хака:

  • заменив число "0" буквой "O"
  • заменив число "1" буквой "l"
  • введите бессмысленный диапазон: например, 555.5<span>5</span>5.5555

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

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

Но, хватит на щепотку.

+5
26 апр. '11 в 22:11
источник

Вы также можете использовать метку <a> с javascript: void(0) как href.

Пример следующим образом:
<a href="javascript: void(0)">+44 456 77 89 87</a>

+4
25 июн. '15 в 15:04
источник

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

(604) 555<span></span> -4321
+3
14 февр. '13 в 7:56
источник

<meta name = "format-detection" content = "telephone=no"> не работает для писем: если HTML, который вы готовите, предназначен для электронной почты, метатег будет проигнорирован.

Если вы нацеливаете электронные письма, вот еще одно уродливое решение для ya'll:

Пример какого-либо HTML-кода, который вы хотите избежать связывания или автоматического форматирования:

will cease operations <span class='ios-avoid-format'>on June 1,
2012</span><span></span>.

И CSS, который сделает волшебство:

@media only screen and (device-width: 768px) and (orientation:portrait){
span.ios-date{display:none;}
span.ios-date + span:after{content:"on June 1, 2012";}
}

Недостаток: вам может понадобиться медиа-запрос для каждой из списков портретов/ландшафтов ipad/iphone

+3
01 мая '12 в 17:14
источник

Такая же проблема в приложении Sencha Touch разрешена с помощью метатега (<meta name="format-detection" content="telephone=no">) в index.html приложения.

+2
25 янв. '12 в 19:16
источник

Трюк, который я использую, работает не только с Mobile Safari, но и с использованием кода эвакуации HTML и небольшой надбавки в телефонном номере. Это затрудняет для браузера "идентификацию" номера телефона, т.е.

Phone: 1-8&#48;&#48;<span>-</span>62&#48;<span>-</span>38&#48;3
+2
29 июл. '13 в 15:27
источник

Вы можете попробовать кодировать их как объекты HTML:

&#48; = 0
&#57; = 9
+2
22 окт. '08 в 15:14
источник

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

Если вы просто хотите удалить автоматическое редактирование, но сохраните ссылку, просто добавьте ее в свой CSS...

a[href^=tel] {
 color: inherit;
 text-decoration:inherit;
}
+2
24 мар. '14 в 9:45
источник

Этот ответ превосходит все по состоянию на 6-13-2012:

<a href="#" style="color: #666666; 
                   text-decoration: none;
                   pointer-events: none;">
  Boca Raton, FL 33487
</a>

Измените цвет на то, что соответствует вашему тексту, украшение текста удаляет подчеркивание, события указателя останавливают его от просмотра в виде ссылки в браузере (указатель не меняется на руку)

Это идеально подходит для электронных писем HTML на ios и в браузере.

+2
13 июн. '12 в 18:38
источник

Я был немного смущен этим, но, наконец, понял это. Мы внесли обновления на наш сайт и некоторые номера конвертировали в ссылку, а некоторые - нет. Оказывается, что числа не будут преобразованы в ссылку, если они находятся в <fieldset> . Очевидно, что это не правильное решение для большинства обстоятельств, но в некоторых из них оно будет правильным.

+1
09 июн. '16 в 9:42
источник

У меня тоже есть эта проблема: Safari и другие мобильные браузеры преобразуют идентификаторы НДС в телефонные номера. Поэтому я хочу, чтобы чистый метод избегал его на одном элементе, а не на всей странице (или на сайте).
Я использую возможное решение, которое я нашел, оно является субоптимальным, но все же оно довольно жизнеспособно: я помещаю внутри номера, я не хочу стать ссылкой tel:, объект &#8288; HTML, который является Невидимый персонаж Word-Joiner. Я старался оставаться более семантическим (ну, по крайней мере, своего рода), помещая этот char в какое-то значение, например. для идентификатора НДС я выбрал его между разными группами цифр в соответствии с его формат, поэтому для итальянского НДС я написал: 0613605&#8288;048&#8288;8 который отображается в 0613605⁠048⁠8 и не преобразуется в номер телефона.

+1
12 июн. '15 в 13:32
источник

Другой вариант - заменить дефисы в вашем телефонном номере символом (U + 2011 "Unicode Non-Breaking Hyphen" )

+1
29 апр. '16 в 1:14
источник

Разбить номер на отдельные блоки текста

301 <div style="display:inline-block">441</div> 3909
0
05 июл. '16 в 22:20
источник

Другим решением будет использование изображения IP-адреса

-9
13 сент. '14 в 9:05
источник

Посмотрите другие вопросы по меткам или Задайте вопрос