我注意到新的Microsoft Edge浏览器在检测到电话号码时会覆盖我的样式:
<span class="phone">(123)123-1234</span>
请查看此jsfiddle(必须使用Microsoft Edge打开:P)。
这种行为侵犯了网站的设计,十分讨厌。看起来像是IE的继任者的特点 :/
我该如何覆盖或禁用它,以便我的网站用户不会看到它?
我注意到新的Microsoft Edge浏览器在检测到电话号码时会覆盖我的样式:
<span class="phone">(123)123-1234</span>
请查看此jsfiddle(必须使用Microsoft Edge打开:P)。
这种行为侵犯了网站的设计,十分讨厌。看起来像是IE的继任者的特点 :/
我该如何覆盖或禁用它,以便我的网站用户不会看到它?
<meta name="format-detection" content="telephone=no">
这个标签的相关文档可以在Microsoft官网上找到。
希望有更好的方法可以全局关闭此功能而不会使页面臃肿... 更好的情况是默认禁用此功能。
如果您不想像所选答案建议的那样禁用整个页面,您可以向特定标记添加以下属性
<p x-ms-format-detection="none">
<a href="tel:888-888-8888">(888) 888-8888</a>
这将允许您根据自己的喜好对“链接”进行样式设置,并且在CSS中对“a”样式的设置会覆盖电话号码上Edge和iPhone的样式。唯一的问题是这会使得所有设备都可以将电话号码作为链接,但我发现这不是一个问题,因为几乎每个设备都有某种点击拨打电话或应用程序的功能。我面对过这个问题,但使用情况略有不同:它要突出显示的数字并不是电话号码,所以我不想有任何特殊格式。
例如,您可能有这样的内容:
<div>The current date/time: May 08 2017 10:44:58 GMT Daylight Time</div>
对我来说,Edge会将08 2017 10
转换成电话号码链接。感谢Edge!
我发现可以通过在字符串中间插入不可见的inline-block
元素来避免此问题:
.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>
我不确定这个代码是否适用于你的电话号码,因为无论如何都没有看到高亮显示。你可能需要微调span的位置。
顺便说一句,你可以这样做的事实是你不应该从网页上复制命令并粘贴到终端中的许多原因之一:
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>
我认为Edge浏览器的数字高亮功能是地区性的。你的jsfiddle对我来说没有高亮显示,但我在英国。在这里,它似乎会高亮以0开头的数字。