17
4

4 回答 4

42

不要使用超链接。使用微数据。手机会识别为电话号码并允许点击,但不会影响正常的网络浏览器。

<div class="vcard">
    <div class="tel">
        12345555555
    </div>
</div>
于 2012-11-16T01:31:09.927 回答
14

这可能不会直接回答这个问题,但我会挑战您需要在其他设备上隐藏呼叫链接的假设。

为什么?

  • 非电话设备仍然可以拨打电话。例如,带有 VoIP 客户端的 PC 可以处理tel:链接。
  • 平板电脑(iPad 和 Android)tel:通过允许用户将号码添加到他们的联系人来处理链接,这无疑会同步到他们的手机——这对您的用户来说非常方便。
  • 依靠自动格式检测是一种技巧。

因此,只需将其保留为常规链接即可。也许通过链接电话号码使其显而易见,这样桌面上没有电话软件的人就会明白,当他们点击它时不会发生任何事情。

Call Us Now at <a href="tel:12345555555">(234) 555-5555</a>

另外,请记住,tel:链接不会导致 404 错误,因为永远不会生成 HTTP 请求。在我没有tel:处理程序的机器上,Chrome 什么也不做,IE9 说“此网页上的某些内容或文件需要您尚未安装的程序。 ”(合理),而 Firefox 说“ Firefox 不知道如何打开这个地址,因为协议(tel)没有与任何程序相关联。 ”(也是合理的)。

当我遇到这个问题时,我决定只留下tel:链接的好处超过了任何缺点或凌乱的选择。

于 2012-11-16T01:48:26.777 回答
3

我正在使用下面的 CSS 和媒体查询来实现这一点。

@media screen and (min-width: 768px) {
    a[href*="tel:"] {
        cursor:default;
    }
}

它基于这个问题

于 2017-05-31T20:36:57.573 回答
0

我遇到了同样的问题并开始使用元标记进行格式检测:

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

根据与相同问题的讨论: 禁用 iPad 桌面 Web 链接上的电话号码检测?

于 2012-11-16T01:42:26.213 回答