Safari sur iPhone crée automatiquement des liens pour les chaînes de chiffres qui apparaissent aux numéros de téléphone. J'écris une page Web contenant une adresse IP et Safari la transforme en lien de numéro de téléphone. Est-il possible de désactiver ce comportement pour une page entière ou un élément sur une page?
iphone
safari
mobile-safari
benzado
la source
la source
Réponses:
Cela semble être la bonne chose à faire, selon la référence HTML Safari :
Si vous désactivez cette option mais souhaitez toujours des liaisons téléphoniques, vous pouvez toujours utiliser le schéma d'URI "tel".
Voici la page pertinente de la bibliothèque des développeurs d'Apple.
la source
Pour désactiver l'apparence d'analyse du téléphone pour des éléments spécifiques, ce CSS semble faire l'affaire:
La première règle désactive le clic, la seconde s'occupe du style.
la source
J'utilise un menuisier de largeur nulle
‍
Il suffit de mettre cela quelque part dans le numéro de téléphone et cela fonctionne pour moi. Testé dans BrowserStack (et Litmus pour les e-mails).
la source
J'avais le même problème. J'ai trouvé une propriété sur UIWebView qui vous permet de désactiver les détecteurs de données.
la source
Ajoutez ceci, je pense que c'est ce que vous cherchez:
la source
Solution pour Webview!
Pour les applications PhoneGap-iPhone / PhoneGap-iOS, vous pouvez désactiver la détection des numéros de téléphone en ajoutant ce qui suit au délégué d'application de votre projet:
source: Désactiver la détection de téléphone dans PhoneGap-iOS .
la source
Pour désactiver la détection des numéros de téléphone sur une partie d'une page, enveloppez le texte affecté dans une balise d'ancrage avec href = "#". Si vous faites cela, Safari mobile et UIWebView devraient le laisser tranquille.
la source
meta
tag ne fonctionnait pas. Cependant, il vaut probablement mieux<a href="javascript:;">
éviter les effets secondaires d'un changement d'URL.Je pense avoir trouvé une solution: mettre le nombre à l'intérieur d'un
<label>
élément. Je n'ai pas essayé d'autres balises, mais<div>
je l'ai laissé actif sur l'écran d'accueil, même avec letelephone=no
attribut.Il semble évident à partir des commentaires précédents que la balise META a fonctionné, mais pour une raison quelconque, elle s'est rompue sous les versions ultérieures d'iOS, au moins sous certaines conditions. J'utilise 4.0.1.
la source
<like this>
. (Stack Overflow utilise un langage de formatage appelé Markdown.) Je modifierai votre réponse en conséquence.#
caractère à l'avant du numéro de téléphone: selon le document Apple "Apple URL Scheme Reference": "Plus précisément, si une URL contient les caractères * ou #, l'application Téléphone n'essaie pas de composer le correspondant numéro de téléphone."Vous pouvez également utiliser l'
<a>
étiquette avecjavascript: void(0)
commehref
valeur.Exemple comme suit:
<a href="javascript: void(0)">+44 456 77 89 87</a>
la source
J'ai eu le même problème, mais sur une application Web iPad.
Malheureusement non plus ...
ni ...
... travaillé.
Mais, voici trois vilains hacks:
555.5<span>5</span>5.5555
Selon la police que vous utilisez, les deux premiers sont à peine perceptibles. Ce dernier implique évidemment du code superflu, mais est invisible pour l'utilisateur.
Kludgy pirate à coup sûr, et probablement pas viable si vous générez votre code dynamiquement à partir de données, ou si vous ne pouvez pas polluer vos données de cette façon.
Mais, suffisant dans une pincée.
la source
J'avais un ABN (Australian Business Number) que l'iPad Safari a insisté pour transformer en lien de numéro de téléphone. Aucune des suggestions n'a aidé. Ma solution a été de mettre des balises img entre les chiffres.
La classe existe uniquement pour documenter à quoi servent les balises img.
Fonctionne sur iPad 1 (4.3.1) et iPad 2 (4.3.3).
la source
width="0" height="0"
aides, mais toujours un seul pixel est affiché.line-height
etfont-size
à zéro.Mon expérience est la même que certaines autres mentionnées. La balise META ...
... fonctionne lorsque le site Web fonctionne dans Mobile Safari (c'est-à-dire avec Chrome) mais cesse de fonctionner lorsqu'il est exécuté en tant qu'application Web (c'est-à-dire qu'il est enregistré sur l'écran d'accueil et s'exécute sans Chrome).
Ma solution moins qu'idéale est d'insérer les valeurs dans les champs de saisie ...
C'est loin d'être idéal car, bien que la bordure ne soit pas définie, iOS affiche une barre grise de plusieurs pixels au-dessus du champ. Mais c'est mieux que de voir le numéro comme un lien.
la source
J'ai testé cela moi-même et j'ai constaté que cela fonctionne bien que ce ne soit certainement pas une solution élégante. L'insertion d'une plage vide dans le numéro de téléphone empêchera les détecteurs de données de la transformer en lien.
la source
<meta name = "format-detection" content = "telephone=no">
ne fonctionne pas pour les e-mails: si le code HTML que vous préparez est pour un e-mail, la balise META sera ignorée.Si vous ciblez des e-mails, voici une autre solution laide mais qui fonctionne pour vous:
Exemple de code HTML que vous souhaitez éviter d'être lié ou formaté automatiquement:
Et le CSS qui fera de la magie:
L'inconvénient: vous devrez peut-être une requête multimédia pour chacun des combos ipad / iphone portrait / landscape
la source
Vous pouvez essayer de les encoder en tant qu'entités HTML:
la source
Même problème dans l'application Sencha Touch résolu avec la balise meta (
<meta name="format-detection" content="telephone=no">
) dans index.html de l'application.la source
Une astuce que j'utilise qui fonctionne sur plus que Mobile Safari est d'utiliser des codes d'échappement HTML et une petite majoration dans le numéro de téléphone. Cela rend plus difficile pour le navigateur «d'identifier» un numéro de téléphone, c'est-à-dire
la source
J'ai moi aussi ce problème: Safari et d'autres navigateurs mobiles transforment les identifiants TVA en numéros de téléphone. Je veux donc une méthode propre pour l'éviter sur un seul élément, pas sur toute la page (ou site).
Je partage une solution possible que j'ai trouvée, elle n'est pas optimale mais elle est quand même assez viable: je mets, à l'intérieur du nombre je ne veux pas devenir un
tel:
lien, l'⁠
entité HTML qui est le caractère invisible de Word-Joiner . J'ai essayé de rester plus sémantique (enfin, au moins une sorte de) en mettant ce caractère dans un certain sens, par exemple pour l'ID de TVA, j'ai choisi de le mettre entre les différents groupes de chiffres en fonction de son format, donc pour une TVA italienne, je a écrit:0613605⁠048⁠8
qui rend en 06136050488 et il n'est pas transformé en numéro de téléphone.la source
Une autre option consiste à remplacer les tirets de votre numéro de téléphone par le caractère
‑
(U + 2011 'Trait d'unicode insécable')la source
J'ai été vraiment confus par cela pendant un certain temps, mais j'ai finalement compris. Nous avons apporté des mises à jour à notre site et avons converti certains chiffres en liens, d'autres non. Il s'avère que les nombres ne seront pas convertis en lien s'ils sont dans un <fieldset>. Ce n'est évidemment pas la bonne solution pour la plupart des circonstances, mais dans certains cas, ce sera la bonne.
la source
Cette réponse l'emporte sur tout au 13/06/2012:
Changez la couleur en ce qui correspond à votre texte, la décoration de texte supprime le soulignement, les événements de pointeur l'empêchent d'être affiché comme un lien dans un navigateur (le pointeur ne change pas en main)
C'est parfait pour les e-mails HTML sur iOS et le navigateur.
la source
pointer-events
, bien sûr. Si l'utilisateur consulte vos e-mails HTML dans IE 10, cela ne sert à rien .Pourquoi voudriez-vous supprimer le lien, il est très convivial d'avoir l'option.
Si vous souhaitez simplement supprimer l'édition automatique, mais que le lien fonctionne, ajoutez-le simplement dans votre CSS ...
la source
Décomposer le nombre en blocs de texte séparés
la source
Une autre solution serait d'utiliser une image du numéro IP
la source