防止Iphone浏览器将数字转换为链接


15

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

问题是-我的页面上有很多数字看起来像电话号码,但实际上不是。有没有办法告诉iPhone浏览器不要理会这些数字?

Answers:


22

苹果方面的实施效果很差(我听说在iPad上也会发生这种情况,但毫无意义),但是有一个解决方法:

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

资料来源:http : //www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

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


附加信息

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

<div itemscope itemtype="http://schema.org/LocalBusiness">
  <h1 itemprop="name">Foo Co.</h1>
  <dl>
    <dt>Phone</dt>
    <dd><span itemprop="telephone"><a
      href="<?php echo ($isMobile? 'tel' : 'callto') ?>:+15555555555">
      555-555-5555</a>
    </span></dd>
    <dt>Client ID</dt>
    <dd>1234567890</dd>
</div>

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


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

2
@丹:除了&shy;用来分拆电话,实际上没有理想的方法。我要做的是禁用iOS的Safari的数字自动链接,然后使用语义标记来明确指出哪些数字是实际的电话号码。
冒犯君主

是的,这可能是针对我的特定案例的最佳解决方案。谢谢!
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.