【问题标题】:HTML tel: link to emergency numberHTML 电话:链接到紧急号码
【发布时间】:2018-08-12 05:31:26
【问题描述】:

如何创建指向紧急号码(如911112)的HTML <a href="tel:"></a> 链接?

RFC says

电话号码可以用全局或本地表示 符号。所有电话号码必须使用全局形式,除非他们 不能这样表示。 [紧急号码(“911”、“112”)]不能以全局形式表示,并且 需要表示为带有上下文的本地数字。

local-context section 我发现很难理解什么是“本地上下文”,更不用说这种情况下正确的上下文是什么了。它列出了诸如houston.example.com 之类的域前缀或诸如+1 之类的数字前缀,并且在一段中它说

由全局数字的初始数字组成的上下文确实 并不意味着将这些添加到本地号码将生成有效的 E.164 号码。这可能是巧合,但这不可能 依靠。 (例如,“911”应标有上下文 “+1”,但“+1-911”不是有效的 E.164 号码。)

但是这一段的措辞又很混乱。

<a href="tel:+49-112">112</a>

现在正确的做法与它不是有效的 E.164 号码这一事实无关?

或者它不是一个有效的 E.164 号码是个问题?

In some other places我看到有人在使用

<a href="tel:112;phone-context=emergency.example.com">112</a>

还有other people recommend

<a href="tel:112;phone-context=+49">112</a>

但是当我在 Android 上点击该链接时,拨号器会打开并显示号码

112;746632668398+49

【问题讨论】:

  • 那个 local-context 部分还说“参数值由本地号码的受让人定义。”所以,我不确定公众(例如 SO 成员)是否有办法在全球范围内回答这个问题......
  • 嗨@Nils,你找到方法了吗?我有类似的问题,我需要一个 911 的链接。

标签: html rfc tel


【解决方案1】:

引用的Section 5.1.5 RFC 声明

由全局数字的初始数字组成的上下文确实 并不意味着将这些添加到本地号码将生成有效的 E.164 号码。这可能是巧合,但这不可能 依靠。 (例如,“911”应标有上下文 “+1”,但“+1-911”不是有效的 E.164 号码。)

我的解释是紧急电话号码应该以他们国家特定的前缀作为前缀,即

  • 在美国,911 应用作&lt;a href="tel:+1-911"&gt;911&lt;/a&gt;
  • 在德国 112 应该用作 &lt;a href="tel:+49-112"&gt;112&lt;/a&gt;

本段的其余部分是关于此语法不符合 E.164 建议的。据我了解,E.164 在这种情况下是无关紧要的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-14
    • 1970-01-01
    • 2021-05-29
    • 1970-01-01
    • 1970-01-01
    • 2013-12-13
    • 2012-07-10
    相关资源
    最近更新 更多