web-dev-qa-db-fra.com

Empêcher le navigateur Iphone de transformer des numéros en liens

J'écris une page très simple qui est censée être affichée sur des appareils mobiles. Lors de la visualisation dans le simulateur d'iphone, j'ai remarqué que le navigateur iphone transforme automatiquement toute chaîne numérique en lien, soi-disant pour la composer directement.

Le problème est - il y a une tonne de chiffres sur ma page qui ressemblent à des numéros de téléphone mais qui ne le sont pas. Y at-il un moyen de dire au navigateur iPhone de laisser ces chiffres seuls?

16
Sorcy

Très mauvaise implémentation de la part d'Apple (j'entends dire que cela se produit également sur l'iPad, où cela n'a aucun sens), mais il y a un correctif:

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

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

L'un des commentaires sur cette page suggère également l'utilisation du trait d'union controversé (&shy;) pour empêcher la liaison automatique d'un numéro spécifique (afin que le navigateur puisse toujours lier automatiquement d'autres numéros de la page).


Information additionnelle

Si vous souhaitez lier certains numéros mais pas d’autres, j’utiliserais personnellement la balise méta format-detection pour désactiver la liaison automatique des numéros, puis lier explicitement ceux qui sont des numéros de téléphone:

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

L'extrait PHP permet de remplacer le schéma tel: par callto: s'il ne s'agit pas d'un navigateur mobile. De cette façon, Skype et d’autres programmes VoIP de bureau peuvent être déclenchés lorsque vous cliquez sur le lien.

22
Lèse majesté