Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IE11 on Windows 8.1 can cause tablet to be true #89

Closed
pmilla1606 opened this issue Jun 10, 2015 · 25 comments
Closed

IE11 on Windows 8.1 can cause tablet to be true #89

pmilla1606 opened this issue Jun 10, 2015 · 25 comments

Comments

@pmilla1606
Copy link

Checking for mobile and tablet can potentially cause false positives on certain Windows 8 devices (in our case a Asus X551M but users reported issues from MS Surface's as well).

We did not catch this using the MS provided VM's.

I realize that this is not technically a bug in bowser but I wanted to put this out there in case anybody else runs into the same issue.

To get around this we are now doing the following:

if ((bowser.tablet || bowser.mobile) && !bowser.msie) { etc }
@serohm
Copy link

serohm commented Dec 11, 2015

I have face this issue and to be more specific the false positive is on laptops IE10+ with touch capability.
The user agent in touch devices with IE10+ is:
Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; rv:11.0) like Gecko

While for non touch laptops (which works fine) is:

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)

Cheers,

Sergio

@mattnorris
Copy link

👍

@digital-void
Copy link

I could verify this - - on a dual monitor no touch desktop pc.
It seems that if you have a Wacom Tablet installed this is true as well - doesn't need to be a touch screen mon - (wacom has touch capabilities as well)

@lancedikson
Copy link
Collaborator

@digital-void, thanks, and what kind of Wacom Tablet do you use? What about UA in that case? It would be helpful if you send to us browser's UA :)

@digital-void
Copy link

Wacom Intuos Pro - but I guess this will happen with all touch input devices on windows, as there is no difference between an external or monitor build in touch-input-device on the api side. Same thing happening on my Chintiq Companion - it's no touch screen monitor - but a monitor with a build in stylus system - that is touch capable... And - - - what do you mean with UA?
2 things I want to point out regardless of this issue:
First of: Thank you - for your time and patients!
Secondly:
Could you probably build in a result that is switchable?
Like -

  switch(bowser.agent){
    case ie:
      doSomeIeSpecial();
      break;
    case chrome:
      doSomeChromeSpecial();
      break;
    default:
      doDefault();  
  };

cheers -
patrick

@lancedikson
Copy link
Collaborator

@digital-void, I meant user agent string, that available as window.navigator.userAgent. Could you paste it from MS IE here, please?

And yeah, I've thought about that case — add something like agent and platform, which would contain the browser name and the platform name. But it's only a think. I'd try to implement it soon.

@digital-void
Copy link

sure:
Mozilla/5.0 (Windows NT 6.3; WOW64; Trident/7.0; .NET4.0E; .NET4.0C; .NET CLR 3.5.30729; .NET CLR 2.0.50727; .NET CLR 3.0.30729; Tablet PC 2.0; GWX:QUALIFIED; rv:11.0) like Gecko
It says Tablet PC 2.0 - but - I promise - it's not ;)
About the switch: I guess this might be really helpful for evron.
It's not urgent but for the sake of completeness ... probably you should ;)
... and thank you again for this neat peace of code... it really helped my out!
I needed a browser switch for unity webplayer on ie, edge and oprea vs. webgl on chrome and firefox (if not webplayer installed ;) )
Maybe something you could state out if people say - "use features..."
Probably a flag x86 - amd64 would be nice....

@lancedikson
Copy link
Collaborator

@digital-void, interesting. Thank you. I'll test it ASAP and I'm thinking about that feature with additional flags for platform.

@digital-void
Copy link

digital-void commented May 17, 2016

Actually - the platform is only a part of it - heaps of people use Firefox 32bit - event though they're on an 64bits os...
I don't know how - but it would be interesting to know how many RAM an application could take.
Another point of interest would be the heap size ... but I'm not sure if this can be determined.
But complex WebGL developments would benefit from that knowledge.
To cut it short:
bowser.ram in byte
bowser.heapsize in byte
would be realy realy something that could give bowser an unique feature ;)
(just thinking)

@digital-void
Copy link

btw - your support is outer standing ;)

@shaibv
Copy link

shaibv commented Oct 25, 2016

Hi,
Is there any progress with this issue?

@lancedikson
Copy link
Collaborator

Hi, @shaibv! Actually, not yet. Do you have the same problem? Describe it, please.

@shaibv
Copy link

shaibv commented Oct 25, 2016

Hi,

Yes, I have the same problem.
Touch PC is detected as mobile on a touch device running I.E.

@shaibv
Copy link

shaibv commented Oct 25, 2016

Hi,

Yes, I have the same problem.
Touch pc is detected as mobile on a touch device running I.E.

Thanks,
Shai

On Tue, Oct 25, 2016 at 11:55 AM, Denis Demchenko [email protected]
wrote:

Hi, @shaibv https://github.com/shaibv! Actually, not yet. Do you have
the same problem? Describe it, please.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#89 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AETNShldMH7R_mYOcRZiMSZfiZWfeKUQks5q3cQbgaJpZM4E-jpp
.

@lancedikson
Copy link
Collaborator

Could you, please, provide your navigator.userAgent string? It could help to fix the problem.

On 25 Oct 2016, at 13:35, shaibv [email protected] wrote:

Hi,

Yes, I have the same problem.
Touch PC is detected as mobile on a touch device running I.E.


You are receiving this because you commented.
Reply to this email directly, view it on GitHub #89 (comment), or mute the thread https://github.com/notifications/unsubscribe-auth/AB3YW2huAFISStk_XO_huHqLIi6wpfpNks5q3duHgaJpZM4E-jpp.

@shaibv
Copy link

shaibv commented Oct 26, 2016

Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; Touch; LCTE; rv:11.0)

@shaibv
Copy link

shaibv commented Nov 3, 2016

Hi @lancedikson
I've talked with my clients and apparently Windows Surface desktop will always be detected as tablet.
User Agent: Mozilla/5.0 (Windows NT 6.3; ARM; Trident/7.0; Touch; rv:11.0) like Gecko

Do you have any idea how can I work around this issue?

lancedikson added a commit that referenced this issue Nov 3, 2016
@lancedikson
Copy link
Collaborator

@shaibv, I put some tests for the devices that you've prevented above and tests are passed: https://travis-ci.org/ded/bowser/builds/172985408
Do you use the latest bowser version?

@shaibv
Copy link

shaibv commented Nov 6, 2016

Hi @lancedikson ,
I'll try to investigate it further.
Thanks for you'r quick response!

@lancedikson
Copy link
Collaborator

@shaibv, any news about that? :)

@shaibv
Copy link

shaibv commented Nov 9, 2016

Hi,
I wasn't able to reproduce it using a fake user agent and I don't have
access to the machine.
So I had no choice but to define a machine running IE as not mobile nor
tablet.
Thanks for your support I'll keep following this thread hoping for a more
elegant solution.

On Wed, Nov 9, 2016 at 1:07 PM, Denis Demchenko [email protected]
wrote:

@shaibv https://github.com/shaibv, any news about that? :)


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#89 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AETNSuAyH14iwMpdCEU268J64EiyctRkks5q8alwgaJpZM4E-jpp
.

@jakedowns
Copy link

+1, same here, desktop PC windows 10 with Wacom Cintiq attached.
IE11 v11.576.14393.0

"Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; .NET4.0C; .NET4.0E; .NET CLR 2.0.50727; .NET CLR 3.0.30729; .NET CLR 3.5.30729; Tablet PC 2.0; rv:11.0) like Gecko"

bowser.tablet === true


Doesn't happen with MS Edge: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.79 Safari/537.36 Edge/14.14393"

bowser.tablet is undefined in that case

@lancedikson
Copy link
Collaborator

@jakedowns, thanks for the report. It's a known case. But, unfortunately, I can't suggest you any workaround for it. Bowser just makes some guesses using UserAgent string and it could be wrong because of those cases, when a tablet attached to PC.

@jakedowns
Copy link

jakedowns commented Dec 16, 2016 via email

@lancedikson
Copy link
Collaborator

I guess, we can close this for now, since there is no clear solution for it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants