【问题标题】:Using window.Touch to find out if current device is a mobile device使用 window.Touch 判断当前设备是否为移动设备
【发布时间】:2011-12-11 10:27:34
【问题描述】:

是否可以执行以下操作来确定您是否使用移动设备?

if(window.Touch != undefined) 
{
   //redirect to my mobile site
}

我想检查一下它是否是移动设备。我不想仅仅为了这个简单的检查而导入modernizr 库。

【问题讨论】:

    标签: javascript mobile


    【解决方案1】:

    这就是我所做的,到目前为止效果很好:

    var HAS_TOUCH = ('ontouchstart' in window);
    

    【讨论】:

      【解决方案2】:

      我正在使用:

      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

      【讨论】:

        【解决方案3】:

        好的,经过广泛搜索后发现了一些东西。 window.touch doesn't work on Android 至少有人这么说。我无法确认,因为我没有运行 Android 的移动设备

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-31
          • 2017-02-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-30
          相关资源
          最近更新 更多