2014-03-03 23 views
1

我正在尝试使电话造型/突出显示在当前iOS和Android设备的移动设备上工作。它对电话号码正常工作,但它也处理其他数字相同(使他们可点击的链接打开电话拨号程序)。这些包括邮政编码和其他不应被视为电话号码的号码。我知道,你可以完全使用下面的元标记禁用此功能:移动电话检测在其他号码上创建链接,例如邮政编码

<meta name="format-detection" content="telephone=no"> 

但是,我想要的功能,仅仅只有上的电话号码。

我也意识到,你可以禁用这个,然后添加使用“电话:x-xxx-xxx-xxxx”所有电话号码的链接,但这似乎很单调,我希望找到一个更好的解决方案(如果有一个)。

回答

1

电话号码识别是相当原始的,甚至是错误的,所以它可能是最好的关闭,使用上述方法。例如,Android 4浏览器无法识别标准国际格式的电话号码(使用空格时,它忽略国家前缀和运营商代码)。

但是,如果你想使用它,并仍然关闭其他数字字符串,那么下面的观察可能是有用的:Android浏览器似乎将七位或更多位数的序列(例如1234567)视为一个电话号码,如果一个单个空格字符干预。如果没有空格(1234567),或者如果有多个空格(1 234 567)或者有中间连字符(123-4567),它就不会以这种方式工作。一个不间断的空间不被视为空间,所以以下内容将不被识别:123&nbsp;4567

恐怕这在具有这些功能的浏览器中并不一致。

+0

感谢您提供这方面的信息,它帮助我找到了针对我的方案的最佳解决方案,并可能为其他类似问题找到了最佳解决方案。 – Tricky12

0

我发现最好的解决方案(对我来说)是通过没有元标记来保持这种启用,并且只是手动修复所创建的“错误链接”。由于我只关心支持iOS和Android,目前的版本,最简单的方法就是修复少数被链接为电话号码的号码。我试过@ Jukka的建议&nbsp;,但发现它增加了不需要的空间,所以我发现&shy;(软连字符)是最好的路线。

例子:

如果您有任何形式的帐号是7+长的数字,将被认为是一个电话号码。

1234567 - 显示为电话号码
1234567&shy; - 不显示为电话号码

注意,这些只在当前iOS和Android操作系统进行测试。

相关问题