Supprimer le style du numéro de téléphone de Microsoft Edge

95

J'ai remarqué que le nouveau navigateur Microsoft Edge remplace mes styles lorsqu'il détecte des numéros de téléphone:

<span class="phone">(123)123-1234</span>

Voir ce jsfiddle (doit être ouvert à l'aide de Microsoft Edge: P).

Ce genre de intrusion dans la conception du site Web et est plutôt odieux. Sûr semble être un trait d'un successeur à IE: /

Comment puis-je annuler ou désactiver cette option afin que les utilisateurs de mon site Web ne le voient pas?

karns
la source
J'espère que ce n'est pas réellement causé par des logiciels malveillants ...
karns
Vérifiez les add-ons (n'ont pas Edge), mais certains add-ons ont causé ce comportement dans IE-s ...
sinisake
7
Je viens de commenter cela aujourd'hui sur Twitter: mobile.twitter.com/scunliffe/status/631484565492625409 au moins autant que je peux voir pour l'instant jusqu'à ce que Microsoft annule cette mauvaise décision que vous devrez ajouter <meta name="format-detection" content="telephone=no"/>à chaque page que vous devez vous débarrasser de cela. :-(
scunliffe
1
Il est également appliqué aux nombres de latitude / longitude comme 145.1231321
behelit
1
De plus, les formats de nombre mis en surbrillance varient en fonction du réglage de la région ("Emplacement du domicile") du PC de l'utilisateur, donc cela affectera tous les utilisateurs différemment! Cela signifie que lorsque vous testez vos pages, vos utilisateurs finaux peuvent en fait voir quelque chose de différent malgré l'utilisation du même navigateur: docs.microsoft.com/en-us/previous-versions/windows
SharpC

Réponses:

171

Vous pouvez vous en débarrasser en ajoutant cette balise meta dans l'en-tête de vos pages.

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

Documentation de Microsoft sur cette balise .

Espérons qu'il y aura un meilleur moyen de désactiver cette fonctionnalité globalement sans gonfler les pages ... Ou mieux encore désactiver cette fonctionnalité par défaut.

scunliffe
la source
Bonne réponse! Pourriez-vous ajouter un lien vers des documents à ce sujet, s'il vous plaît?
karns
8
Conception stupide. Si quelqu'un veut faire ça. Au moins, vous pouvez autoriser un attribut comme "detect-phone = true" le rendant facultatif, car parfois il n'est pas nécessaire d'autoriser votre application Web à le faire si ce n'est pas trop l'intention ...
Miguel
59

Si vous ne souhaitez pas désactiver pour une page entière comme le suggère la réponse sélectionnée, vous pouvez ajouter l'attribut suivant à une balise spécifique

<p x-ms-format-detection="none">

Référence: https://docs.microsoft.com/en-us/previous-versions/windows/internet-explorer/ie-developer/dev-guides/dn265018(v=vs.85)#controlling-phone-number-detection

maguy
la source
9
Je sais que c'est un peu une vieille réponse, mais pour tous ceux qui recherchent cela: j'ai dû l'ajouter à une balise parent (comme le <div> qui est un pas en avant par rapport à l'étiquette ou à tout ce que vous utilisez pour afficher le téléphone nombre).
Dortimer
+1 à la fois à la réponse et au commentaire de Debasertron. Plus loin dans le commentaire, il semble que ce soit un parent de niveau bloc - j'ai essayé avec un span, ce qui n'a pas fonctionné, mais un div était bien.
Masala
31

La réponse ci-dessus fonctionne parfaitement, mais désactive la possibilité de cliquer pour appeler des numéros de téléphone (ce qui est un problème majeur si vous créez un site réactif). J'ai trouvé un meilleur moyen de faire du numéro de téléphone un lien. Exemple:

<a href="tel:888-888-8888">(888) 888-8888</a>

Cela vous permettrait alors de styliser le "lien" comme vous le souhaitez, et les styles "a" de votre CSS remplacent les styles Edge et iPhone du numéro de téléphone. Le seul problème avec cela est que cela fait du numéro de téléphone un lien pour tous les appareils, mais j'ai trouvé que ce n'était pas un problème car presque tous les appareils ont une sorte de fonctionnalité ou d'application Cliquer pour appeler incluse.

Cameron
la source
1
La meilleure approche à mes yeux!
conceptdeluxe
Bien que la question soit "comment désactiver", je devrais convenir que ce serait une meilleure réponse si vous essayez de créer un site réactif avec l'utilisation du téléphone mobile à l'esprit.
JStevens
3

J'ai rencontré ce problème, mais avec un cas d'utilisation légèrement différent: le numéro qu'il met en évidence n'est pas un numéro de téléphone, donc je ne veux pas de formatage spécial.

Par exemple, vous pourriez avoir quelque chose comme:

<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

Pour moi *, Edge convertira 08 2017 10 en un lien vers un numéro de téléphone. Merci Edge!

J'ai trouvé que vous pouvez contourner ce problème en insérant un inline-blockélément invisible au milieu de la chaîne:

.notel{
  display:inline-block;
  height:0px;
  width:0px;
}
<span class="phone">(763)219-5222</span>
<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>

<br>
<span class="phone">(763)2<span class="notel"></span>19-5222</span>
<div>The current date/time: May 08 2<span class="notel"></span>017 10:44:58 GMT Daylight Time</div>

Je ne vois pas si cela fonctionne pour votre numéro de téléphone car je ne vois pas de surlignage dans les deux cas. Vous devrez peut-être pousser le positionnement de la travée.

Incidemment, le fait que vous puissiez le faire est l'une des nombreuses raisons pour lesquelles vous ne devriez pas copier les commandes hors des pages Web et dans votre terminal:

span{
display:inline-block;
height: 0px;
width: 0px;
overflow:hidden;
}
textarea{
  width: 300px;
  height:50px;
}
<div>echo "HELLO" <span>&& wreck this machine</span></div><div>echo "WORLD"</div>

<textarea ></textarea>
<div>
Select, copy and paste above commands into the textarea.
</div>

* Je pense que la mise en évidence des nombres par Edge est régionale. Votre jsfiddle n'est pas mis en évidence pour moi, mais je suis au Royaume-Uni. Voici semble mettre en évidence les nombres commençant par 0.

Jools
la source