我正在尝试为当前的iOS和Android设备提供移动设备的电话样式/突出显示功能。它适用于电话号码,但它也会对其他号码进行相同的处理(使其成为打开电话拨号器的可点击链接)。这些包括邮政编码和其他不应被视为电话号码的号码。我知道您可以使用下面的元标记完全禁用此功能:
<meta name="format-detection" content="telephone=no">
但是,我想要的功能,只需要电话号码。
我也知道你可以禁用它,然后使用“tel:x-xxx-xxx-xxxx”在所有电话号码周围添加链接,但这看起来真的很乏味,我希望找到更好的解决方案(如果有的话)是一个)。
答案 0 :(得分:1)
电话号码识别相当原始甚至是错误的,因此最好使用上述方法关闭电话号码。例如,Android 4浏览器无法识别标准国际格式的电话号码(当使用空格时,它会忽略国家/地区前缀和操作员代码)。
但是如果您希望使用它并仍然将其关闭以用于其他数字字符串,则以下观察可能会有用:Android浏览器似乎将七个或更多数字的序列(例如,1234567)视为电话号码,如果单空格字符介入。如果没有空间(1234567)或者如果有多个空格(1 234 567)或者存在插入连字符(123-4567),则不会以这种方式工作。不中断空格不作为空格,因此无法识别以下内容:123 4567
。
我担心在具有此类功能的浏览器中,这种情况并不一致。
答案 1 :(得分:0)
我发现最好的解决方案(对我来说)是通过不使用元标记来保持启用,只需手动修复创建的“错误链接”。由于我只关心支持iOS和Android,当前的版本,最简单的方法是修复一些被链接为电话号码的数字。我尝试了@ Jukka对
的建议,但发现它增加了不受欢迎的空间,所以我发现­
(软连字符)是最佳路径。
示例:
如果您有任何长度为7+的帐号,则会将其视为电话号码。
1234567
- 显示为电话号码
1234567­
- 未显示为电话号码
请注意,这些仅在当前的iOS和Android操作系统中进行了测试。