2012-09-28 1 views
5

を混乱させる。クローム22は、私はJavaScriptライブラリの多くは、それがタブレットやデスクトップ上にあるかどうかを検出するために、「ontouchstart」に依存している知っているタブレットとデスクトップ

は、ここで私が話しているコードの例です:今のところ

var hasTouch = ("ontouchstart" in window); 

、私はそれが動作するために、すべてのタブレット検出コードをコメントアウトする必要がありました。

は何デスクトップ対タブレットを検出する最良の方法だろうか?

ありがとうございます!

+0

関連:http://stackoverflow.com/questions/8764020/how-can-i-check-for-real-touch-support-on-a-browser – epascarello

+3

受け入れられる解決策は、まさに壊れているものです。 –

+0

これを再現する方法はありますか? '' ontouchstart "in windowはChromeで私にとって' false'を返す24 – WildlyInaccurate

答えて

3

それはかなりうまく機能し、私はこの

var iPadAgent = navigator.userAgent.match(/iPad/i) != null; 
var iPodAgent = navigator.userAgent.match(/iPhone/i) != null; 
var AndroidAgent = navigator.userAgent.match(/Android/i) != null; 
var webOSAgent = navigator.userAgent.match(/webOS/i) != null; 

var isMobile = iPadAgent || iPodAgent || AndroidAgent || webOSAgent; 

を使用していたそのモバイルプラットフォームかどうかを確認します。

+0

さて、ブラックベリーもあります。これはまさにブラウザの盗聴で間違っています。 –

+0

それは良い考えです!提案していただきありがとうございます! –

関連する問題