Powstrzymaj przeglądarkę Iphone przed przekształcaniem liczb w linki


15

Piszę bardzo prostą stronę, która powinna być wyświetlana na urządzeniach mobilnych. Przeglądając go w symulatorze iPhone'a zauważyłem, że przeglądarka iPhone'a automatycznie przekształca dowolny ciąg liczbowy w link, prawdopodobnie do bezpośredniego wybierania.

Problem w tym, że na mojej stronie jest mnóstwo numerów, które WYGLĄDAJĄ jak numery telefonów, ale tak naprawdę nie są. Czy istnieje sposób, aby powiedzieć przeglądarce iPhone'a o pozostawieniu tych numerów w spokoju?

Odpowiedzi:


22

Bardzo słaba implementacja ze strony Apple (słyszę, że dzieje się to również na iPadzie, gdzie to nie ma żadnego sensu), ale jest poprawka:

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

Źródło: http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

Jeden z komentarzy na tej stronie sugeruje również użycie kontrowersyjnego miękkiego łącznika ( &shy;), aby zapobiec automatycznemu łączeniu określonej liczby (dzięki czemu przeglądarka nadal może automatycznie łączyć inne liczby na stronie).


Dodatkowe informacje

Jeśli chcesz połączyć niektóre numery, ale nie inne, osobiście format-detectionużyłbym metatagu, aby wyłączyć automatyczne łączenie numerów, a następnie jawnie połączyć te, które są numerami telefonów:

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

Fragment kodu PHP służy do wymiany tel:schematu, callto:jeśli nie jest to przeglądarka mobilna. W ten sposób Skype i inne stacjonarne programy VoIP mogą być uruchamiane po kliknięciu łącza.


To świetne rozwiązanie, ale co zrobić, jeśli istnieją tylko pewne liczby, których nie chcesz konwertować na linki? Czy można to zrobić tylko według klasy lub atrybutów?
Dan

2
@ Dan: Naprawdę nie ma idealnego sposobu na zrobienie tego poza wykorzystaniem &shy;podziału na liczby. Chciałbym wyłączyć automatyczne łączenie liczb przez iOS z Safari, a następnie po prostu wyraźnie wskazać, które numery są rzeczywistymi numerami telefonów za pomocą znaczników semantycznych.
Lèse majesté

Tak, to chyba najlepsze rozwiązanie dla mojego konkretnego przypadku. Dzięki!
Dan.
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.