如何创建<a href="tel:"></a>指向紧急电话号码(例如911或)的HTML 链接112?
该RFC说
电话号码可以以全局或本地符号表示。所有电话号码都必须使用全局格式,除非不能这样表示。[紧急号码(“ 911”,“ 112”)]不能以全局形式表示,而需要在上下文中表示为本地号码。
从本地上下文部分,我不容易理解什么是“本地上下文”,更不用说什么是正确的情况了。它列出了域前缀(如)houston.example.com或数字前缀(如)+1,并在一段中表示
由全球号码的起始数字组成的上下文并不意味着将这些数字添加到本地号码将产生有效的E.164号码。它可能是偶然巧合的,但这不能依靠。(例如,“ 911”应标记为上下文“ +1”,但“ + 1-911”不是有效的E.164号。)
但是,这一段的措词再次令人非常困惑。
是
<a href="tel:+49-112">112</a>
Run Code Online (Sandbox Code Playgroud)
现在正确的处理方式与它不是有效的E.164号码这一事实无关吗?
还是它不是有效的E.164号码是一个问题吗?
在其他一些地方,我看到人们在使用
<a href="tel:112;phone-context=emergency.example.com">112</a>
Run Code Online (Sandbox Code Playgroud)
<a href="tel:112;phone-context=+49">112</a>
Run Code Online (Sandbox Code Playgroud)
但是当我在Android上点击该链接时,拨号器会打开并显示数字
112;746632668398+49
Run Code Online (Sandbox Code Playgroud)
引用的RFC第 5.1.5 节规定
由全局号码的初始数字组成的上下文并不意味着将这些数字添加到本地号码将生成有效的 E.164 号码。这可能是巧合,但这不能依赖。(例如,“911”应使用上下文“+1”进行标记,但“+1-911”不是有效的 E.164 号码。)
我的解释是紧急号码应该以其国家/地区特定的前缀为前缀,即
911应用作<a href="tel:+1-911">911</a>112应该被用作<a href="tel:+49-112">112</a>本段的其余部分是关于此语法不符合 E.164 建议的内容。据我了解,E.164 在这种情况下是无关紧要的。