javascript – Recognize whether the user is using iOS or Android


I'm developing a screenshot of a website, and the client asks if the website is likely to recognize if the user is using Android or iOS.

If it's on Android, go to Google Play to download the app and if it's iOS to the App Store. It could be a redirect.

If it's on the PC, it opens the normal screen.

Is there such a possibility?


Server-side, you can check the content of the user-agent header:

// Match user agent string with operating systems 
Windows 3.11 => Win16,
Windows 95 => (Windows 95)|(Win95)|(Windows_95),
Windows 98 => (Windows 98)|(Win98),
Windows 2000 => (Windows NT 5.0)|(Windows 2000),
Windows XP => (Windows NT 5.1)|(Windows XP),
Windows Server 2003 => (Windows NT 5.2),
Windows Vista => (Windows NT 6.0),
Windows 7 => (Windows NT 6.1),
Windows 8 => (Windows NT 6.2),
Windows NT 4.0 => (Windows NT 4.0)|(WinNT4.0)|(WinNT)|(Windows NT),
Windows ME => Windows ME,
Open BSD => OpenBSD,
Sun OS => SunOS,
Linux => (Linux)|(X11),
Mac OS => (Mac_PowerPC)|(Macintosh),
BeOS => BeOS,
OS/2 => OS/2,
Search Bot=>(nuhk)|(Googlebot)|(Yammybot)|(Openbot)|(Slurp)|(MSNBot)|(Ask Jeeves/Teoma)|(ia_archiver)

( source )

Via JavaScript, the same can be done by checking the partial content of navigator.appVersion :

if (navigator.appVersion.indexOf("Win")!=-1) //Windows

You can then decide which store to use with a snippet like this:

var playStoreUrl = "",
    appStoreUrl  = "",
    platform     = navigator.platform;

if (/mac/i.test(platform))
    $("#redirect").attr("href", appStoreUrl);
else if (/linux/i.test(platform))
    $("#redirect").attr("href", playStoreUrl);
    // Handle the case where the OS is neither MacOS nor Linux

( source )

Scroll to Top