HTML的tel:链接到紧急电话号码

8
我如何创建一个HTML <a href="tel:"></a>链接到像911112这样的紧急号码? RFC说:
电话号码可以用全局表示法或本地表示法表示。除非无法使用全局形式,否则所有电话号码都必须使用全局形式。 [紧急号码(“911”,“112”)]不能用全局形式表示,需要用上下文表示为本地号码。
本地上下文部分中,我不认为很容易理解“本地上下文”是什么,更不用说这种情况下正确的上下文是什么了。它列出了域前缀,如houston.example.com或数字前缀+1,并且在一段中它说:

一个由全球号码的初始数字组成的上下文,并不意味着将其添加到本地号码中会生成有效的E.164号码。这可能是巧合,但不能依赖它。(例如,“911”应标记为上下文“+1”,但“+1-911”不是有效的E.164号码。)

但是这段话的措辞仍然非常令人困惑。

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

现在正确的做法是什么,事实上它不是一个有效的E.164号码是无关紧要的吗?

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

在其他一些地方 我看到人们在使用

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

再次其他人推荐

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

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

112;746632668398+49

本地上下文部分还说:“参数值由本地号码的受让人定义。”因此,我不确定是否有一种全局的方法让普通公众(例如SO成员)回答那个问题... - Heretic Monkey
嗨@Nils,你找到解决方法了吗?我有类似的问题,需要一个911的链接。 - Johny
1个回答

2

引用的RFC 第5.1.5节 指出:

由全球号码的初始数字组成的上下文并不意味着将这些数字添加到本地号码将生成有效的E.164号码。它可能会因巧合而这样做,但不能依赖于此。(例如,“911”应标记为上下文“+1”,但“+1-911”不是有效的E.164号码。)

我理解为应该在紧急电话号码前加上其国家特定的前缀,即:

  • 在美国,应使用<a href="tel:+1-911">911</a>作为911
  • 在德国,应使用<a href="tel:+49-112">112</a>作为112

段落的其余部分是关于此语法不符合E.164建议的。据我所知,在这种情况下,E.164与此无关。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接