繁体   English   中英

Javascript:确定它是桌面Linux还是Android

[英]Javascript : Identify whether it is a desktop Linux or Android

无法使用navigator.userAgentnavigator.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。 查看详情

你可以试试这个:

if (navigator.userAgent.match(/android/i)) {
   // it's andorid
} else if (navigator.userAgent.match(/linux/i)) {
   // it's linux
}

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

现在浏览器检测不是一个好习惯,而是人们使用基于javascript或@media查询的特征检测。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM