如何在tel:URI中包含扩展名?

时间:2012-02-28 13:17:55

标签: html mobile uri phone-number tel

我目前有一个提供电话号码的网页,其中一些电话号码有扩展名,所以我写了这样的HTML:

<a href="tel:+44-1234-567;ext=88">+44-1234-56788</a> / <a href="tel:+44-1234-567;ext=99">+44-1234-56799</a

当我在Android浏览器中点击此页面并点按其中一个电话号码时,它会在我的电话拨号器(英国三星Galaxy s2股票)中加载:

+44-1234-567;ext=88

我不认为是正确的。当然它应该省略;ext=字。

我是否误读了RFC以实现tel

8 个答案:

答案 0 :(得分:29)

似乎正确的方法是使用逗号:

<a href="tel:441234567,88">+44-1234-567 ext.88</a>

刚刚使用iPhone和Android OS 2.1测试过。使用;ext=88 ext 位转换为使用扩展名拨打的号码(因此它会拨打类似35888而不是88的内容)。

答案 1 :(得分:8)

根据documentation,你可以添加你想要的东西,所以tel:12345678; ext = 123

请参阅RFC 3966

答案 2 :(得分:5)

在我看到的所有示例中,ext的值包含在完整数字中。因此,请尝试在href值中包含88:

<a href="tel:+44-1234-56788;ext=88">+44-1234-56788</a>

答案 3 :(得分:3)

3个月之前的

Standards at thenewcode建议使用微数据暂停。

<强> <a href="tel:+13235798328p22">

相关: 不同的标准在不同的外部平台上持续存在,并且可能会改变URI的处理。 Click to call  Google Developers文档中的功能未指定

示例: 办公室的Skype uses x to represent extension within skype

答案 4 :(得分:2)

评论How do I include extensions in the tel: URI?

截至 2021 年 6 月,Android 仍未实现 RFC3966 ;ext= 语法,iOS 实现了它。

;ext=123为例:

  • Android:在呼叫连接后会出现一个模态窗口,询问 Send the following tones? 396123NoYes 按钮。 “发送以下提示音?”是对用户点按 Yes 时会发生什么情况的精确技术描述,但对于普通用户来说可能不是最好的措辞。
  • Android 将 ;ext=123 转换为 396123,因为它处理字母的方式与您拨打 1-800-FLOWERS 之类的内容相同,这是语法的一个错误实现。
  • iOS 在“断开连接”按钮左侧提供了一个选项,显示 Dial “ext=…”。当您点击此“按钮”时,它将拨打分机号码。这是不雅的并且可用性不好,因为“按钮”看起来不像按钮——它只是纯文本——并且因为你看不到分机号码。
  • 此外,当您第一次点击 iOS 中的电话链接时,它会在屏幕底部显示一个按钮,该按钮会将电话号码部分重写为本地格式,但也保留了大部分 ;ext= 语法,例如Call +1 (555) 555-5555;ext123。这也很不雅观,而且还很丑。

如果您只使用 ; 表示“等待”,例如“等待自动助理消息结束,然后自动拨打分机号”:

  • iOS:点击链接会显示一个按钮,说明 Call +1 (555) 555-5555;123,比上面描述的按钮丑一点。
  • iOs 提供与上述相同的分机拨号“按钮”,但分机号码是可见的,例如Dial “123”。它仍然存在其他可用性问题。
  • iOS 不会在消息结束后自动拨打分机号。
  • Android:在呼叫连接后会出现一个模态窗口,询问 Send the following tones? 123NoYes 按钮。
  • Android 不会在消息结束后自动拨打分机号。

因此,就目前而言,截至 2021 年 6 月,似乎在实际有效的 tel: 链接中包含扩展程序的唯一方法是使用 ;表示“等待”或 , 表示“暂停”

  • <a href="tel:+1-555-555-5555;123">555-555-5555 ext. 123</a> — 这将提供一个 UI 组件,用户可以调用它来拨打分机号。 UI 组件的可用性取决于操作系统;两者都不是很好,但可以说 Android 更好。
  • <a href="tel:+1-555-555-5555,123">555-555-5555 ext. 123</a> — 这将在呼叫连接几秒钟后自动拨打分机号。 注意:此机制不适用于在自动助理消息结束之前不接受用户输入的语音邮件系统。

答案 5 :(得分:0)

对于那些仍然对这个问题感到疑惑的人:我发现最好使用这种格式:

<a href="tel:+13235798328;22">

答案 6 :(得分:0)

我没有得到这个问题的答案-我认为错了。正确的链接如下所示:

<a href="tel:+441234567,88">+44-1234-567 ext. 88</a>

答案 7 :(得分:0)

我觉得这是一个解决之道,但是如果尚未在所有设备上实现一致,最好不要包含扩展名,而让人们手动拨打它:

<a href="tel:+441234567">+44-1234-567 ext. 88</a>

<a href="tel:+441234567">+44-1234-567</a> ext. 88

与将1/2个用户发送到错误的分机相比,让用户做更多的工作是更好的选择。