2012-09-28 59 views
5

我知道很多JavaScript庫都依賴於「ontouchstart」來檢測它是否在平板電腦或桌面上。Chrome 22混淆了平板電腦和桌面

下面是我在談論的代碼示例:

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「在窗口中'在Chrome中返回'false'24 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

這是個好主意!感謝您的建議! –

相關問題