我正在写一个非常简单的页面,应该在移动设备上查看它。在iphone模拟器中查看它时,我注意到iphone浏览器会自动将任何数字字符串转换为链接,据说是直接拨号。

问题是-我的页面上有很多数字可供查找例如电话号码,但实际上不是。有没有办法告诉iPhone浏览器不要理会这些数字?

#1 楼

苹果方面的实施效果很差(我听说在iPad上也发生了这种情况,无论如何都没有意义),但是有一个解决方法: br />http://www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

评论之一该页面还建议使用有争议的软连字符(­)防止自动链接特定数字(因此浏览器仍可以自动链接页面上的其他数字)。



其他信息

如果要链接某些号码而不是其他号码,我个人将使用format-detection元标记禁用自动链接号码,然后显式链接电话号码:

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


如果不是移动浏览器,PHP代码段可以将tel:方案换成callto:。这样,单击链接时可以触发Skype和其他桌面VoIP程序。

评论


这是一个很好的解决方案,但是如果您不想将某些数字转换为链接怎么办?有没有办法仅通过类或属性来做到这一点?

–丹
2013年9月20日在18:55

@Dan: There's really no ideal way to do that beyond using ­ to break up the number. What I would do is to disable iOS' Safari's auto-linking of numbers and then just explicitly indicate which numbers are actual phone numbers using semantic markup.

– Lèse majesté
Sep 21 '13 at 0:01

是的,这可能是针对我的特定案例的最佳解决方案。谢谢!

–丹
2013年9月21日在0:23

我遇到日期不完整的问题,例如2020-01。对于这些情况,可以使用html时间标签将它们包装起来,例如