【发布时间】:2011-12-11 10:27:34
【问题描述】:
是否可以执行以下操作来确定您是否使用移动设备?
if(window.Touch != undefined)
{
//redirect to my mobile site
}
我想检查一下它是否是移动设备。我不想仅仅为了这个简单的检查而导入modernizr 库。
【问题讨论】:
标签: javascript mobile
是否可以执行以下操作来确定您是否使用移动设备?
if(window.Touch != undefined)
{
//redirect to my mobile site
}
我想检查一下它是否是移动设备。我不想仅仅为了这个简单的检查而导入modernizr 库。
【问题讨论】:
标签: javascript mobile
这就是我所做的,到目前为止效果很好:
var HAS_TOUCH = ('ontouchstart' in window);
【讨论】:
我正在使用:
if(window.MSPointerEvent){
//you are on IE10
}else if(window.PointerEvent){
//you are on IE11
}else if(window.TouchEvent){
//android and safari
}else{
//don't have touch events
}
我在 Android 2.3 和 4.4.2 以及 iOS 7.1 上对此进行了测试。对于 IE,我使用了什么 Microsoft recommended
使用TouchEvent 仅适用于触摸设备;这并不意味着移动设备。为此,请在 userAgent 上使用正则表达式:
if(navigator.userAgent.match(/Android/i) || navigator.userAgent.match(/iPhone/i)){
//you are on Android or iPhone
}
但还有很多其他情况需要处理,例如 Windows Phone 和 BlackBerry,所以我建议使用 detect mobile API。
【讨论】:
好的,经过广泛搜索后发现了一些东西。 window.touch doesn't work on Android 至少有人这么说。我无法确认,因为我没有运行 Android 的移动设备
【讨论】: