【iPhone】iPhone版safariとPC版safariの違い

事の発端は先日紹介した(http://d.hatena.ne.jp/sea_mountain/20101111/1289497421)、timeagoというライブラリです。
iPhone版のsafariだけ、NaN years agoと表示されしまいました。

そこで調べた結果です。
参考サイトは一番下に載せてあります!

iPhone向けSafariでは、W3C標準のHTMLタグ・属性をサポートしているのはもちろんだが、iPhone固有の拡張属性・拡張CSSプロパティが使用できる。

今回重要なのは

HTMLのテキスト中に含まれる電話番号を自動検出し、リンク化する機能を制御する。が、電話番号の自動検出機能はどうも挙動が怪しい。

電話番号ではないはずの小数点やIPアドレス、郵便番号までもがリンク化されている!

というところです。
timeago()に渡していたデータは

2010-11-11 10:11:11.11111

このような形で小数点以下がありました。
PC版のsafariや他のブラウザでは、ちゃんと表示されるのですが、iPhone版だけ、NaN years agoと表示されてしまいます。
iPhonesafariで上に書いた、timeagoに渡しているデータを表示させたろころ…
11.1111が自動的にリンクになっていました。
リンクをクリックしたところ

invalid address

どうのこうのというエラーが表示されました。

小数点とかが自動でリンクになってしまう対策として、

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

をheadに書きます。
これを書くだけで、リンクにされない+timeagoもきちんと動きました!

まさか電話番号検出+小数点まで検出してしまう+PC版とここまで違いがあるなんて思わなかったため、驚きました…。

参考サイトには他の情報も多く載っているので必見です!

参考サイト

http://symple.jp/93.html