【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と表示されてしまいます。
iPhoneのsafariで上に書いた、timeagoに渡しているデータを表示させたろころ…
11.1111が自動的にリンクになっていました。
リンクをクリックしたところ
invalid address
どうのこうのというエラーが表示されました。
小数点とかが自動でリンクになってしまう対策として、
<meta name="format-detection" content="telephone=no" />
をheadに書きます。
これを書くだけで、リンクにされない+timeagoもきちんと動きました!
まさか電話番号検出+小数点まで検出してしまう+PC版とここまで違いがあるなんて思わなかったため、驚きました…。
参考サイトには他の情報も多く載っているので必見です!