【问题标题】:how to detect if user is using windows tablet如何检测用户是否正在使用 Windows 平板电脑
【发布时间】:2016-04-04 13:18:00
【问题描述】:

我的代码在 Windows 平板电脑上无法正常运行。我正在使用 slick-slider 插件。如果用户使用触摸设备,它应该被禁用。 我在 Windows 平板电脑上检查了我的网站,而不是“触摸”类,我有“无触摸” 这是我的代码

if( $('.no-touch').length ) {
    new Slider({
        element: '.theme-slider',
        slide: 'div',
        dots: false,
        infinite: false,
        arrows: true,
        slidesToShow: 2,
        slidesToScroll: 2,
    });
  }
});

如何检测我的网站是否使用 windows-tablet 打开

【问题讨论】:

标签: javascript jquery tablet


【解决方案1】:

也许这对你有用:

var isTouchDevice    = 'ontouchstart' in window || (navigator.msMaxTouchPoints>0);

发件人:

Detecting Windows Tablet (touch windows devices) with Jquery

【讨论】:

  • 带触摸屏的笔记本电脑怎么样?
【解决方案2】:

使用 javascript 你可以使用导航器对象:

var isms = navigator.platform; // win32 on mysystem

【讨论】:

    【解决方案3】:

    没有任何直接的 API 调用来检测 Windows 是 PC 还是平板电脑。 Microsoft Surface Pro 拿在手中可以成为平板电脑,将其连接到鼠标放在桌面上也可以成为笔记本电脑。

    如果您使用带鼠标的 Windows,那么它就是 PC!如果您使用没有鼠标的 Windows,那么它就是平板电脑。

    没有检测用户是否连接鼠标的功能,但这里有解决方法:

    var Mousefound = false;
    
    function MouseActivity(e) {
    
      window.removeEventListener('mousemove', MouseActivity, false);
      Mousefound = true;
    
      // enable your slick-slider plugin
    
    }
    
    window.addEventListener('mousemove', MouseActivity, false);
    

    【讨论】:

      【解决方案4】:

      此代码在 Surface、Edge 浏览器上返回 true

      if (window.navigator.pointerEnabled && navigator.maxTouchPoints > 1) {
          ...your function goes here...
      }
      

      您应该使用 maxTouchPoints > 1,因为 chrome 在桌面上返回“1”。但是,触摸设备上的浏览器返回 10

      【讨论】:

      • 这仍然是真的吗?有什么方法可以区分平板电脑和笔记本电脑/台式机吗?
      • 如果开发控制台中的mobile 视图被激活,它似乎只返回1
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多