Javascript Chrome 22混淆了平板电脑和台式机

Javascript Chrome 22混淆了平板电脑和台式机,javascript,google-chrome,Javascript,Google Chrome,我知道很多JavaScript库都依赖“ontouchstart”来检测它是在平板电脑上还是桌面上 下面是我正在谈论的一个代码示例: var hasTouch = ("ontouchstart" in window); 现在,我必须注释掉所有的平板电脑检测代码,它才能工作 检测平板电脑与桌面电脑的最佳方式是什么 谢谢 看看这是不是一个移动平台我用过这个 var iPadAgent = navigator.userAgent.match(/iPad/i) != null; var iPo

我知道很多JavaScript库都依赖“ontouchstart”来检测它是在平板电脑上还是桌面上

下面是我正在谈论的一个代码示例:

    var hasTouch = ("ontouchstart" in window);
现在,我必须注释掉所有的平板电脑检测代码,它才能工作

检测平板电脑与桌面电脑的最佳方式是什么


谢谢

看看这是不是一个移动平台我用过这个

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;

它工作得很好。

相关:公认的解决方案正是被破坏的。你有办法重现这种情况吗<代码>窗口中的“ontouchstart”在Chrome 24中为我返回
false
,这很有趣。我想他们解决了这个问题,这太棒了!不管它值多少钱,台式机也可以有触摸屏。在我看来,你在测试错误的东西。嗯。。。例如,还有黑莓手机。这正是浏览器嗅探的问题所在。