Javascript:识别是桌面Linux还是Android

Anu*_*l S 5 javascript linux android

无法使用 or 识别它是 Linux 桌面计算机还是 Android 设备navigator.userAgentnavigator.platform因为某些 Android 设备linux两者中都有该字符串。详情如下

Device                           OS               navigator.platform  
--------------------------------------------------------------------
Samsung Galaxy S3                Android 4.3      Linux armv7l
HTC One                          Android 4.4.2    Linux armv7l
Sony Xperia Z                    Android 4.2.2    Linux armv7l
Motorola Moto G                  Android 4.4.2    Linux armv7l
Samsung Galaxy Tab 3             Android 4.2.2    Linux i686
Nexus 10                         Android 4.4.2    Linux armv7l
Lenovo Yoga                      Android 4.2.2    Linux armv7l
Run Code Online (Sandbox Code Playgroud)

navigator.userAgent

Mozilla/5.0 (Linux; U; Android 2.2; en-us; SCH-I800 Build/FROYO) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1
Run Code Online (Sandbox Code Playgroud)

即使我尝试过触摸事件,但Linux桌面可以有触摸或者它可以模拟触摸。请帮忙

更新:即使桌面浏览器的模拟设备处于活动状态,该解决方案也应该检测到 Linux。查看详情

小智 2

基于检测用户代理字符串的浏览器识别不可靠,不推荐

如今浏览器检测并不是一个好的做法,而是人们使用基于 javascript 或 @media 查询的特征检测。

我建议您阅读这个答案,也许您可​​以从另一个角度看待问题。