Iphoneブラウザが数字をリンクに変えないようにする


15

モバイルデバイスで表示されるはずの非常にシンプルなページを書いています。iphoneシミュレータでそれを表示しているときに、iphoneブラウザが自動的に番号文字列をリンクに変換することに気づきました。おそらく直接ダイヤルするためです。

問題は-私のページには電話番号のように見えるが実際にはそうではないたくさんの番号があります。これらの数字をそのままにしておくようにiPhoneブラウザに指示する方法はありますか?

回答:


22

Apple側の実装が非常に悪い(これはiPadでも発生すると聞きますが、iPadではまったく意味がありません)が、修正があります。

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

出典:http : //www.darowski.com/tracesofinspiration/2009/03/31/stop-iphone-from-incorrectly-auto-linking-phone-numbers/

そのページのコメントの1つでは、論争の的になっているソフトハイフン(&shy;)を使用して特定の番号の自動リンクを防止することも提案しています(したがって、ブラウザーはページ上の他の番号を自動リンクできます)。


追加情報

特定の番号をリンクし、他の番号はリンクしない場合は、個人的にformat-detectionメタタグを使用して自動リンク番号を無効にし、電話番号である番号を明示的にリンクします。

<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>

PHPスニペットは、モバイルブラウザでない場合にtel:スキームを交換するためにありcallto:ます。このようにして、リンクがクリックされると、Skypeおよびその他のデスクトップVoIPプログラムをトリガーできます。


これは素晴らしい解決策ですが、リンクに変換したくない特定の数字だけがある場合はどうでしょうか?クラスまたは属性のみでそれを行う方法はありますか?
ダン

2
@Dan:数字を分割する以外に、これを行う理想的な方法はありません&shy;。私がやることは、iOSのSafariの番号の自動リンクを無効にし、セマンティックマークアップを使用して実際の電話番号である番号を明示的に示すことです。
Lèseはmajesté

ええ、それはおそらく私の特定のケースに最適なソリューションです。ありがとう!
ダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.