Не позволяйте браузеру Iphone превращать числа в ссылки


15

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

Проблема в том, что на моей странице есть тонна номеров, которые выглядят как телефонные номера, но на самом деле это не так. Есть ли способ сказать браузеру iphone оставить эти номера в покое?

Ответы:


22

Очень плохая реализация со стороны Apple (я слышал, что это также происходит на iPad, где это не имеет никакого смысла), но есть исправление:

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

Источник: http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

Один из комментариев на этой странице , также предполагает использование спорного мягкого дефиса ( &shy;) , чтобы предотвратить автоматическое соединение определенного числа (так браузер может еще автоматически ссылка другие номера на странице).


Дополнительная информация

Если вы хотите связать определенные номера, но не другие, я бы лично использовал format-detectionметатег, чтобы отключить автосвязывание номеров, а затем явно связал те, которые являются телефонными номерами:

<div itemscope itemtype="http://schema.org/LocalBusiness">
  <h1 itemprop="name">Foo Co.</h1>
  <dl>
    <dt>Phone</dt>
    <dd><span itemprop="telephone"><a
      href="<?php echo ($isMobile? 'tel' : 'callto') ?>:+15555555555">
      555-555-5555</a>
    </span></dd>
    <dt>Client ID</dt>
    <dd>1234567890</dd>
</div>

Фрагмент PHP предназначен для замены tel:схемы, callto:если это не мобильный браузер. Таким образом Skype и другие программы VoIP для настольных компьютеров могут запускаться при нажатии на ссылку.


Это отличное решение, но что, если есть только определенные числа, которые вы не хотите конвертировать в ссылки? Есть ли способ сделать это только по классу или атрибутам?
Дан

2
@ Дэн: Там действительно нет идеального способа сделать это, кроме как использовать, &shy;чтобы разбить число. То, что я хотел бы сделать, это отключить автоматическое связывание номеров в Safari для iOS, а затем просто явно указать, какие номера являются реальными телефонными номерами, используя семантическую разметку.
Lèse Majesté

Да, это, наверное, лучшее решение для моего конкретного случая. Благодарность!
Дан
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.