Захистіть браузер 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-incorrect-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
@Dan: Насправді немає ідеального способу зробити це, крім використання, &shy;щоб розділити число. Що я б робив, це відключити автоматичне пов'язування номерів Safari з iOS, а потім просто чітко вказати, які номери є фактичними номерами телефонів за допомогою семантичної розмітки.
Lèse majesté

Так, це, мабуть, найкраще рішення для мого конкретного випадку. Спасибі!
День
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.