18

我正在开发一个用于移动浏览器的快速页面。虽然手机上的浏览器(目标受众)之间几乎没有一致性,但我有一个电话号码,我希望尽可能容易地从用户电话拨打。链接似乎是显而易见的选择;所以我设置了以下内容:

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

这似乎在更高级的浏览器(如 Android 和黑莓浏览器)上运行良好,但在其他手机上的可靠性要低得多。任何有关使此链接始终如一或正确工作的建议将不胜感激。

仅供参考,这是美国国内免费电话,但我想某些设备可能正在寻找更通用的格式。

4

3 回答 3

11

您使用的方法是执行此操作的“标准”方法(即遵循RFC 3966)。如果移动浏览器无法正确解释它,解决此问题的唯一明显方法是扩展或修改浏览器行为本身,您可能不想这样做或无权这样做。

我相信 Windows 设备(移动资源管理器)、iPhone(野生动物园)、Symbian 以及您所说的黑莓和 Android 都支持它。

您是否发现这些设备存在问题,或者您是否也支持其他手机?

请注意,其他人似乎在使用 iPhone 和 iPad 时遇到了相反的问题,因为默认浏览器 (Safari) 会将任何看起来像电话号码的内容更改为链接:

http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

于 2010-11-15T14:18:21.567 回答
9

我最终想出的是一个这样的链接:

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

到目前为止,这在所有测试过的手机上都有效,包括 Android、黑莓和一些非常笨重的旧手机。据我所知,链接的结构是这样的:

WTAI 引用无线电话应用程序接口。wp/ 指的是 WTAPublic 函数。主持人;是makeCall函数,然后你当然有电话号码。同样,您可以执行如下链接:

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

除了 mc 之外,其他都是一样的;已被 ap; 取代,它指的是 addPBEntry 函数。这会将电话号码添加到您的地址簿或类似的电话号码存储中。

这两个网站对我的研究很有帮助:

于 2010-11-15T15:55:10.147 回答
3

我见过像 yelp 这样的大网站使用不同的方法来实现这一点,他们使用 vcard 和 tel 类:

http://microformats.org/wiki/hcard

<div class="vcard">
    <span class="tel">(555) 555-5555</span>
</div>
于 2012-05-25T23:27:15.363 回答