Evite que el navegador de iPhone convierta los números en enlaces


15

Estoy escribiendo una página muy simple que se supone que se debe ver en dispositivos móviles. Mientras lo veía en el simulador de iPhone, noté que el navegador de iPhone convierte automáticamente cualquier cadena de números en un enlace, supuestamente para marcarlo directamente.

El problema es que hay un montón de números en mi página que se parecen a los números de teléfono pero en realidad no lo son. ¿Hay alguna manera de decirle al navegador del iPhone que deje estos números en paz?

Respuestas:


22

Muy mala implementación por parte de Apple (escuché que esto también sucede en el iPad, donde no tiene ningún sentido), pero hay una solución:

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

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

Uno de los comentarios en esa página también sugiere el uso del controvertido guión suave ( &shy;) para evitar la vinculación automática de un número específico (por lo que el navegador aún puede vincular automáticamente otros números en la página).


Información adicional

Si desea vincular ciertos números pero no otros, yo personalmente usaría la format-detectionmetaetiqueta para deshabilitar los números de enlace automático y luego vincular explícitamente los que son números de teléfono:

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

El fragmento de PHP está ahí para cambiar el tel:esquema callto:si no es un navegador móvil. De esta manera, Skype y otros programas de VoIP de escritorio se pueden activar cuando se hace clic en el enlace.


Esta es una gran solución, pero ¿qué pasa si solo hay ciertos números que no desea convertir en enlaces? ¿Hay alguna manera de hacerlo solo por clase o atributos?
Dan

2
@Dan: Realmente no hay una forma ideal de hacerlo más allá de usar &shy;para dividir el número. Lo que haría es deshabilitar la vinculación automática de números de Safari de iOS y luego indicar explícitamente qué números son números de teléfono reales usando marcado semántico.
Lèse majesté

Sí, esa es probablemente la mejor solución para mi caso particular. ¡Gracias!
Dan
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.