arasatasaygin/is.js

is.touchDevice returns true instead of false on laptop

vladnkolesnikov opened this issue · 4 comments

Hi, i catched some kind of bug in our app, when we use is.touchDevice for detecting mobile devices. Windows users, who use Google Chrome v.56 - 58 has following user agent:

Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537

navigator.appVersion:

5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.81 Safari/537.36

OS info:

  • Windows 10 Home edition
  • Version 1607
  • Build number 14393.1066

Are you sure that your laptop has no touchscreen?

I personally faced an issue with a customer saying: "the website menu act like mobile version" it was a Dell Inspiron 15-T

@MiPnamic yes, i am. It is Asus n550j without touchscreen

isTouch() returns also true on Firefox 45.9.0 (Desktop, no touchscreen).

Using Modernizr I had to use 2 methods simultaneously (Modernizr.pointerevents and Modernizr.touchevents) to get in FF a corect result.

On the other hand, there is no problem in Chrome or IE. Both return false what I consider a correct value in this case.

What about on a more modern Firefox like v56?