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

15

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

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

Sorcy
источник

Ответы:

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 для настольных компьютеров могут запускаться при нажатии на ссылку.

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