是否可以执行以下操作来确定您是否在移动设备上?
if(window.Touch != undefined)
{
//redirect to my mobile site
}
我想做一个小小的检查,看看它是否是移动设备。我不想仅仅为了这个简单的检查而导入modernizr库。
答案 0 :(得分:3)
这就是我所做的,到目前为止它运作良好:
var HAS_TOUCH = ('ontouchstart' in window);
答案 1 :(得分:1)
我正在使用:
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。
答案 2 :(得分:0)
在广泛搜索后找到了一些东西。 window.touch doesn't work on Android至少这是有人说过的。我无法确认,因为我没有运行Android的移动设备