删除Microsoft Edge的电话号码样式

kar*_*rns 89 html css microsoft-edge

我注意到新的Microsoft Edge浏览器在检测到电话号码时会覆盖我的样式:

<span class="phone">(123)123-1234</span>
Run Code Online (Sandbox Code Playgroud)

请参阅此jsfiddle(必须使用Microsoft Edge打开:P).

这种方式侵入了网站的设计,而且相当令人讨厌.肯定似乎是IE继任者的特征:/

如何覆盖或禁用此功能,以便我的网站用户不会看到它?

scu*_*ffe 154

您可以通过在页面标题中添加此元标记来消除它.

<meta name="format-detection" content="telephone=no">
Run Code Online (Sandbox Code Playgroud)

Microsoft关于此标记的文档.

希望有更好的方法可以在没有膨胀页面的情况下全局关闭...或者更好的是默认情况下禁用此功能.

  • 愚蠢的设计.如果有人想这样做.至少,您可以允许像"detect-phone = true"这样的属性使其成为可选属性,因为有时候如果不是太有意义的话,也不需要允许您的webapp执行此操作... (5认同)

mag*_*guy 53

如果您不想按所选答案的建议禁用整个页面,则可以将以下属性添加到特定标记

<p x-ms-format-detection="none">
Run Code Online (Sandbox Code Playgroud)

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

  • 我知道这是一个古老的答案,但是对于任何想要这样的人:我必须将其添加到父标签(例如<div>,这是标签上的一个步骤或者用于显示电话的任何内容数). (7认同)

cam*_*ron 30

上述答案完美无缺,但禁用了点击呼叫电话号码的能力(如果您正在构建响应式站点,这是一个主要问题).我找到了一个更好的工作,使电话号码成为一个链接.例:

<a href="tel:888-888-8888">(888) 888-8888</a>
Run Code Online (Sandbox Code Playgroud)

然后,这将允许您根据需要设置"链接"的样式,并且CSS中的"a"样式会覆盖电话号码上的Edge和iPhone样式.唯一的问题是它使电话号码成为所有设备的链接,但我发现这不是一个问题,因为几乎每个设备都有某种点击呼叫功能或应用程序.