2012-07-12 2 views
9

私は現在、デバイスが電話をかけることができるかどうかを検出する必要のあるプロジェクトに参加しています。それができるかどうかに応じて、私はビューを切り替えて2つの異なる機能を適用する必要があります。一つはtel:htmlで特定の番号に電話するボタン、もう一つはあなたの番号を入力するためのボタンですフォニタリスを使ってあなたに電話します。tel:が実際に電話をかけることができるデバイスにリンクされているかどうかを確認するにはどうすればよいですか?

現在、私はwurflやterawurflなどのプラグインやライブラリをインストールしていますが、携帯電話やタブレット/デスクトップが電話をかけることができるかどうかを100%信頼できる方法で検出しているようです。

私はwurfl/terawurflや "yes tel:works"などを検出するためのjavascript ajax呼び出しで見逃したタグのような、これに対するサーバー側またはユーザー側のソリューションはありますか?

+0

は、このトリックを見てください:http://stackoverflow.com/questions/836777/how -to-detect-browsers-protocol-handlers –

+0

いいえ; JavaScriptはブラウザに限られており、プロトコルや関連するハンドラにアクセスする方法はありません。ユーザーに選択肢を提供する必要があります(「Skypeがある場合、または電話機の場合は「この番号に電話する」リンクをクリックし、そうでない場合は「私たち」をクリックしてくださいあなたに電話する」ボタンを押してください)。 –

+1

私は本当にあなたのアプローチを考え直すべきだと思います。たとえ携帯電話/タブレットに有効なSIMがあり、ネットワークに接続されていても、オペレーターまたはユーザーによる通話を禁止することができます(通話禁止/通話制限)。または特定の番号に電話をすることができない場合があります(サービスがないか、国際電話が制限されているなど)。到達しようとしている番号に電話をかけない限り、あなたが知る方法はありません。 –

答えて

1

ここでは、無料でダウンロードできるモバイルブラウザを検出するPHPクラスを使用しています。

if ($detect->isMobile()) { 
    // any mobile platform 
    // place telephone code here 
} 

か、より具体的にすることができます:内のクラスが正しく設定されると http://code.google.com/p/php-mobile-detect/

あなたは、このようなコードを使用することができます

if($detect->isiOS()){ 
    // code to run for the Apple iOS platform. 
} 

これは、一般的しかし、携帯サイトを作成するために使用されますそれはあなたの目的に合うでしょう:)

+0

このソリューションは、実際にデータベースを持っているのではなく、ユーザーエージェントのパターンを使ってトリックを行います。それを変更して新しいカテゴリを作ることもできます。便利なプラグインのようだが、多くのデバイスが電話番号を持っているかもしれないが、電話をかけるつもりはないことに気付く。 –

+0

非常に真実なモバイル技術は鮮明で、その唯一の改善が続くだろう。これはあなたのために働いてうれしい私は嬉しいです、それは多くの時間を節約し、自分でそれを構築する作業!モバイルに最適化されたウェブサイトにこれを使用します –

関連する問題