Verhindern Sie, dass der iPhone-Browser aus Zahlen Links macht

15

Ich schreibe eine sehr einfache Seite, die auf Mobilgeräten angezeigt werden soll. Beim Betrachten im iPhone-Simulator ist mir aufgefallen, dass der iPhone-Browser automatisch eine beliebige Zahlenfolge in einen Link umwandelt, um sie direkt zu wählen.

Das Problem ist - es gibt eine Menge Nummern auf meiner Seite, die wie Telefonnummern aussehen, dies aber nicht sind. Gibt es eine Möglichkeit, den iPhone-Browser anzuweisen, diese Nummern in Ruhe zu lassen?

Sorcy
quelle

Antworten:

22

Sehr schlechte Implementierung seitens Apple (ich höre, dass dies auch auf dem iPad passiert, wo es überhaupt keinen Sinn macht), aber es gibt eine Lösung:

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

Quelle: http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorly-auto-linking-phone-numbers/

In einem der Kommentare auf dieser Seite wird auch die Verwendung des umstrittenen Bindestrichs ( &shy;) empfohlen , um das automatische Verknüpfen einer bestimmten Nummer zu verhindern (sodass der Browser andere Nummern auf der Seite weiterhin automatisch verknüpfen kann).


Zusätzliche Information

Wenn Sie bestimmte Nummern verknüpfen möchten, andere jedoch nicht, würde ich persönlich das format-detectionMeta-Tag verwenden, um das automatische Verknüpfen von Nummern zu deaktivieren, und dann die Telefonnummern explizit verknüpfen:

<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>

Das PHP-Snippet dient dazu, das tel:Schema auszutauschen, callto:wenn es sich nicht um einen mobilen Browser handelt. Auf diese Weise können Skype- und andere Desktop-VoIP-Programme ausgelöst werden, wenn auf den Link geklickt wird.

Majestätsbeleidigung
quelle
Dies ist eine großartige Lösung, aber was ist, wenn es nur bestimmte Zahlen gibt, die Sie nicht in Links konvertieren möchten? Gibt es eine Möglichkeit, dies nur nach Klasse oder Attributen zu tun?
Dan
2
@Dan: Es gibt wirklich keinen idealen Weg, dies zu tun, außer &shy;die Zahl aufzuteilen . Was ich tun würde, ist, das automatische Verknüpfen von Zahlen mit iOS Safari zu deaktivieren und dann nur explizit anzugeben, welche Zahlen mit semantischem Markup tatsächliche Telefonnummern sind.
Majestätsbeleidigung
Ja, das ist wahrscheinlich die beste Lösung für meinen speziellen Fall. Vielen Dank!
Dan