移动浏览器设置电话链接的可靠方法是什么?

18

我正在为移动浏览器设计一个快速页面。尽管在手机浏览器中(目标受众)之间没有很多一致性,但我有一个电话号码,希望用户可以尽可能轻松地拨打。链接似乎是最明显的选择,所以我设置了以下内容:

<a href="tel:+18881235467">1-888-123-5467</a>

这在像Android和BlackBerry这样的先进浏览器上似乎运行良好,但在其他手机上可靠性要低得多。 如何使此链接始终正常工作或正确工作的任何建议将不胜感激。

顺便提一下,这是一个免费的美国国内电话,但我想有些设备可能正在寻找更一般的格式。

3个回答

11
您正在使用的方法是执行此操作的“标准”方式(即遵循RFC 3966)。如果移动浏览器无法正确解释它,则唯一明显的修复方法是扩展或修改浏览器的行为,这可能不是您想要或可以执行的。
我相信它在Windows设备(移动浏览器)、iPhone(Safari)、塞班以及根据您的说法Blackberry和Android上都得到了支持。
您是否在这些设备上遇到问题或者您还支持其他手机?
请注意,有些人似乎与iPhone和iPad存在相反的问题,因为默认浏览器(Safari)会将任何看起来像电话号码的内容更改为链接:http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

考虑到需要一个RFC 3966的链接:链接 - James Alday

9
我最终想出的链接是这样工作的:

<a href="wtai://wp/mc;18881235467">1-888-123-4567</a>

到目前为止,这在每个测试过的手机上都可以使用,包括Android、BlackBerry和一些非常老旧的手机。据我了解,该链接的结构如下:

WTAI指的是无线电信应用程序接口。wp/指的是WTAPublic函数。mc;表示发起呼叫功能,然后当然还有电话号码。同样,你也可以像这样创建一个链接:

<a href="wtai://wp/ap;18881235467">Add to addressbook: 1-888-123-4567</a>

这段代码与mc;相同,只是将其替换为ap;,它引用了addPBEntry函数。该函数将电话号码添加到您的通讯录或类似的电话号码存储中。

在我的研究过程中,这两个网站对我很有帮助:


1
那些链接非常古老:2001年,2004年。那是移动浏览真正开始之前。在选择这条路之前,我会寻找更现代的参考资料。 - CodeWarrior
1
你有更加最新的参考资料吗?我不再需要它们了——我已经从这个项目中远离了很久——但其他用户可能会发现它们有用。 - Surreal Dreams

3
我见过像 Yelp 这样的大型网站使用不同的方法来实现这一点,他们使用 vcard 和 tel 类: http://microformats.org/wiki/hcard
<div class="vcard">
    <span class="tel">(555) 555-5555</span>
</div>

实际上,在这里使用Microformats是一个明智的方法。谢谢! - superluminary

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接