【问题标题】:Using tel: to initiate a call with a phone extension使用电话:使用电话分机发起呼叫
【发布时间】:2012-09-19 08:34:42
【问题描述】:

格式化电话的正确方法是:与电话分机链接?我看到了一些不同的建议,但我不清楚哪一个是最终的方法。

<a href="tel:5555555,555">555-5555 ext. 555</a>

使用 android 2.3.4,我无法通过拨打电话分机的链接拨打电话。

RFC3966 表示这是正确的格式:

extension = ";ext=" 1*phonedigit

但我不清楚 1* 的用途,我也无法使这种格式工作。

【问题讨论】:

标签: android html mobile anchor tel


【解决方案1】:

语法是用RFC2234 中描述的ABNF 表示法编写的。

tel URI 的语法是(缩写):

telephone-uri        = "tel:" telephone-subscriber
telephone-subscriber = global-number / local-number
global-number        = global-number-digits *par
local-number         = local-number-digits *par context *par
par                  = parameter / extension / isdn-subaddress
extension            = ";ext=" 1*phonedigit

"tel:"";ext=" 标记是文字字符串。
1*phonedigit 表示法表示以下一种或多种产生式(例如phonedigit)。

据我所知,电话号码应该标记为:

<a href="tel:5555555;ext=555">555-5555 ext. 555</a>

免责声明:我从未使用过电话号码 URI,也不知道浏览器的支持情况如何。我什至不确定这是否适合使用 ext 参数。

另请注意,RFC3966 声明:

本地号码必须有一个phone-context 参数来标识它们的有效性范围。

【讨论】:

    【解决方案2】:

    你可以试试 &lt;a href="tel:5555555p555"&gt;555-5555 ext. 555&lt;/a&gt; p 暂停 1 秒

    【讨论】:

      【解决方案3】:

      1* 表示 RFC3966 使用的 ABNF 生成语法,表示 1 个或多个数字组成扩展字段。

      有关使用的 ABNF,请参阅 http://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_Form

      【讨论】:

        【解决方案4】:

        这应该可行:

        <a href="tel:+18881234567">Make a call</a>
        

        通常使用+开头更容易(要求您有国家代码,但保证手机识别号码正确)。

        【讨论】:

        • 电话分机怎么样?这就是问题的核心。
        • 一般情况下,您不能以这种方式使用拨号器中的分机,因为它们必须在建立连接后插入。但是,您可以尝试添加分号或 w,然后添加扩展名。
        • 这与扩展无关。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-08-19
        相关资源
        最近更新 更多