Impedisci al browser Iphone di trasformare i numeri in collegamenti


15

Sto scrivendo una pagina molto semplice che dovrebbe essere visualizzata su dispositivi mobili. Durante la visualizzazione nel simulatore di iPhone ho notato che il browser iPhone trasforma automaticamente qualsiasi stringa numerica in un collegamento, presumibilmente per comporlo direttamente.

Il problema è che ci sono un sacco di numeri sulla mia pagina che GUARDANO come numeri di telefono ma in realtà non lo sono. C'è un modo per dire al browser iPhone di lasciare soli questi numeri?

Risposte:


22

Implementazione molto scarsa da parte di Apple (ho sentito che ciò accade anche sull'iPad, dove non ha alcun senso), ma c'è una soluzione:

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

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

Uno dei commenti su quella pagina suggerisce anche l'uso del controverso trattino morbido ( &shy;) per impedire il collegamento automatico di un numero specifico (quindi il browser può ancora collegare automaticamente altri numeri sulla pagina).


Informazioni addizionali

Se desideri collegare determinati numeri ma non altri, utilizzerei personalmente il format-detectionmeta tag per disabilitare i numeri con collegamento automatico, quindi collegherei esplicitamente quelli che sono numeri di telefono:

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

Lo snippet di PHP è lì per scambiare lo tel:schema per callto:se non è un browser mobile. In questo modo Skype e altri programmi VoIP desktop possono essere attivati ​​quando si fa clic sul collegamento.


Questa è un'ottima soluzione, ma cosa succede se ci sono solo alcuni numeri che non vuoi convertire in link? C'è un modo per farlo solo per classe o attributi?
Dan,

2
@ Dan: Non c'è davvero alcun modo ideale per farlo oltre a usare &shy;per dividere il numero. Quello che vorrei fare è disabilitare il collegamento automatico dei numeri di Safari in iOS e quindi indicare esplicitamente quali numeri sono numeri di telefono effettivi utilizzando il markup semantico.
Lèse majesté,

Sì, questa è probabilmente la soluzione migliore per il mio caso particolare. Grazie!
Dan,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.