Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在tel:URI中包含扩展?_Html_Mobile_Uri_Phone Number_Tel - Fatal编程技术网

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

Html 如何在tel:URI中包含扩展?,html,mobile,uri,phone-number,tel,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 <a href="tel:+441234567,88">+44-1234-567 ext. 88</a> 我认为这是不对的。当然,它

我目前有一个提供电话号码的网页,其中一些电话号码有分机,因此我编写了如下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
<a href="tel:+441234567,88">+44-1234-567 ext. 88</a>
我认为这是不对的。当然,它应该省略
;ext=
word


我是否误读了RFC以实现
tel

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

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

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

刚刚用iPhone和Android OS 2.1进行了测试。使用
;ext=88
将ext位转换为使用分机拨打的号码(因此它拨打的是35888而不是88)。

根据,您可以添加您想要的号码,例如电话:12345678;ext=123

参见3个月前的建议使用微数据暂停


Google开发者文档上的功能没有指定

例如:
办公室的Skype

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

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

我不知道这个问题的答案-我认为你错了。正确的链接如下所示:

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

我觉得这是一种逃避的回答,但是如果这在设备之间还没有得到一致的实现,那么最好不要包括分机,让人们手动拨号:

分机88

与其将1/2的用户发送到错误的分机,不如让用户做更多的工作。

评论

截至2021年6月RFC3966
;ext=
语法仍然不是由Android实现的,而是由iOS实现的

使用
;ext=123
例如:

  • Android:通话连接后,会出现一个模式窗口,询问
    是否发送以下铃声?396123
    带有
    按钮。“发送以下音调?”是一个精确的技术描述,它描述了如果用户点击
    Yes
    ,将会发生什么,但对于普通用户来说,这可能不是最好的措辞
  • Android转换
    ;ext=123
    转换为
    396123
    ,因为它对字母的处理方式与您拨打类似
    1-800-FLOWERS
    的电话时的处理方式相同,这是语法的错误实现
  • iOS在断开按钮的左边提供了一个选项,上面写着
    拨号“ext=…”
    。当你点击这个“按钮”时,它会拨分机号码。这是不雅观的,而且可用性很差,因为“按钮”看起来不像按钮——它只是纯文本——而且因为你看不到分机号码
  • 此外,当您第一次在iOS中点击电话链接时,屏幕底部会显示一个按钮,该按钮可将电话号码部分改写为本地格式,但也保留了大部分
    ;ext=
    语法,例如
    Call+1(555)555-5555;ext123
    。这也不雅观,而且很难看
如果您只使用
的意思是“等待”,如“等待自动助理消息结束,然后自动拨打分机”:

  • iOS:点击链接会显示一个按钮,说明
    Call+1(555)555-5555;123
    比上面描述的按钮稍微好看一点
  • iOs提供与上述相同的分机拨号“按钮”,但分机号码是可见的,例如,
    拨号“123”
    。它还有其他可用性问题
  • 消息结束后,iOS不会自动拨打分机
  • Android:通话连接后,会出现一个模式窗口,询问
    是否发送以下铃声?123
    带有
    按钮
  • 消息结束后,Android不会自动拨打分机
因此,从2021年6月开始,似乎
tel:
链接中包含扩展的唯一方法是使用
表示“等待”或
表示“暂停”

  • -这将提供一个用户界面组件,用户可以调用该组件拨打分机。UI组件的可用性取决于操作系统;两者都不是很好,但安卓系统可以说更好
  • -这将在呼叫连接后几秒钟自动拨打分机注意:在自动助理消息结束之前,该机制不适用于不接受用户输入的语音邮件系统

它仍然会告诉您整数的哪个部分对应于分机。不过,我不知道浏览器会如何处理这个问题。我必须检查RFC。仅仅因为你已经正确地阅读了规范并不意味着电话拨号器已经正确地实现了它。☹有人在iPhone和Android上测试过所有这些答案吗?我猜90%以上的点击通话将来自最近的iOS和Android设备。当然,你的网站上可能有50%以上的桌面访问者,但这些人可能是用手拨号的。为什么会被否决?它来自2012年,但是一个有效的来源。将上述RFC 3966关联为最广泛支持的方案,似乎也没有URI扩展的标准Nice addition@systemaddict。不幸的是,在美国三星的Android v7上,“p”自动转换成了一个数字。我喜欢这个问题的每个答案都是完全不同的。这个答案肯定是错误的,因为你完全删除了“+”。我不明白为什么这么多用户对此进行了投票,请参阅下面我的答案以了解正确的版本。这是唯一一种在Android和iOS上都可以使用的格式