无法确定它是使用navigator.userAgent
还是navigator.platform
的Linux桌面计算机或Android设备,因为某些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
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
即使我尝试过触摸事件,但Linux桌面可以触摸或者可以模拟触摸。请帮忙
更新:即使桌面浏览器的模拟设备处于活动状态,解决方案也应该检测Linux。 View Details
答案 0 :(得分:2)
你可以试试这个:
if (navigator.userAgent.match(/android/i)) {
// it's andorid
} else if (navigator.userAgent.match(/linux/i)) {
// it's linux
}
答案 1 :(得分:0)
Browser identification based on detecting the user agent string is unreliable and is not recommended
现在浏览器检测不是一个好习惯,而是人们使用基于javascript或@media查询的特征检测。
我建议您阅读this answer,也许您可以从另一个角度看问题。