iPhone上的Safari会自动为出现在电话号码中的数字字符串创建链接。我正在编写一个包含IP地址的网页,Safari将其转换为电话号码链接。是否可以为整个页面或页面上的某个元素禁用此行为?


当前回答

另一种选择是将你电话号码中的连字符替换为字符- (U+2011“Unicode非断续连字符”)

其他回答

我有一个ABN(澳大利亚商业号码),iPad Safari坚持要把它变成一个电话号码链接。这些建议都没用。我的解决方案是在数字之间加上img标签。

ABN 98<img class="PreventSafariFromTurningIntoLink" /> 009<img /> 675<img /> 709

该类的存在只是为了记录img标记的用途。

适用于iPad 1(4.3.1)和iPad 2(4.3.3)。

我的经历和其他人提到的一样。元标签…

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

...当网站运行在移动Safari(即,chrome),但停止工作时,运行作为一个网络应用程序(即,被保存到主屏幕和运行没有chrome)。

我不太理想的解决方案是将值插入输入字段…

<input type="text" readonly="readonly" style="border:none;" value="3105551212">

这不是很理想,因为尽管边界被设置为none, iOS在字段上方呈现一个多像素的灰色条。但是,这比把数字看作一个链接要好。

我想我已经找到了一个解决方案:把数字放在<label>元素内。没有尝试任何其他标记,但是<div>使它在主屏幕上处于活动状态,即使有电话=no属性。

从之前的评论中可以明显看出,元标签确实起作用了,但由于某种原因,在iOS的后续版本中,至少在某些条件下,它已经失效了。我运行的是4.0.1。

要禁用特定元素的电话解析外观,下面的CSS似乎可以做到:

.element { pointer-events: none; }
.element > a { text-decoration:none; color:inherit; }

第一条规则禁止单击,第二条规则负责样式化。

为什么要删除链接,这使得它非常用户友好的选择。

如果你只是想删除自动编辑,但保持链接工作,只需添加到您的CSS…

a[href^=tel] {
 color: inherit;
 text-decoration:inherit;
}