Using navigator.share() to detect mobile users?

454 Views Asked by At

I'm trying to detect if a user visiting my webapp is a mobile user or not. I've seen various implementations (example1, example2, example3) but none of them seem to be foolproof or recommended.

I have never seen anyone mention checking if (navigator.share) as a method to determine if a user is on mobile or desktop. The if statement correctly distinguishes between desktop and mobile users in my app (source).

Can I rely on this if statement check? If not, what are the drawbacks to using this approach?

(Note: caniuse states that navigator.share only has 87% coverage, but what if I just assume that's "good enough"?)

1

There are 1 best solutions below

0
On

Microsoft Edge on Windows supports the Web Share API, so this is definitely not a good method to distinguish mobile from desktop users. On modern Chromium browsers, you can simply call the following API:

const isMobile = navigator.userAgentData.mobile;