レスポンシブ対応のWebページで、スマートフォンからのアクセス時のみ電話番号リンクを有効にする方法
以下のようになります。
<html lang="ja"> <head> <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> <script> $(function(){ // UAを取得 var ua = navigator.userAgent; // iPhoneまたはAndroidのみ処理を実行 if(ua.indexOf('iPhone') > 0 || ua.indexOf('Android') > 0){ // phone-linkクラスが指定された<a>タグを全て置換する。 $('.phone-link').each(function(){ var str = $(this).text(); //tel:で指定する番号はハイフンを除去する $(this).html($('<a>').attr('href', 'tel:' + str.replace(/-/g, '')).append(str + '</a>')); }); } }); </script> </head> <body> <span class="phone-link">03-1234-5678</span> </body> </html>
やってることは単純に、変換対象のクラスを見つけたら子要素にaタグ入れてるだけです。
PCからのアクセスの場合
03-0123-4567
スマートフォンからのアクセスの場合
03-1234-5678
と表示されます。
電話番号リンク化させたい端末を増やしたい場合、上のifを適当に書き換えてください。