使用javascript检测设备制造商(即手机品牌)

时间:2019-07-01 23:46:14

标签: javascript android device platform smartphone

人们已经在谈论这个问题 How can I find the mobile phone manufacturer using javascript on mobile browserDetecting device brand

我需要的是一个比当前版本的platform.js更多的“ muscular ”设备代码库的javascript库

例如,我有这部SONY手机,当我运行window.navigator.userAgent;时,它返回的设备名称为F3311(可悲的是platform.js无法识别该名称)。这意味着SONY的另一种型号将与其他设备代码一起出现。还有华为和小米等许多品牌。

是否有一个javascript库,我可以使用它来使用示例代码,如下所示:

if(userDevice == SONY)
{
//do stuff that is supported by Sony phones only, etc
}
else if (userDevice == HUAWEI)
{
//show stuff that will appear only on Huawei phones, etc
}

或者没有人知道我在哪里可以找到window.navigator.userAgent返回的设备代码列表,以便我可以创建自己的库吗? 有人可能想知道为什么我需要这个。但是,我需要这个,现在我需要它。 如果它至少可以涵盖http://gs.statcounter.com/vendor-market-share/mobilehttps://www.idc.com/promo/smartphone-market-share/vendor上排名前5或6的主要制造商,那么我认为这对所有发现自己处于类似情况的编码人员来说都是不错的选择。

  

编辑1:我找到了这个https://deviceatlas.com/products/web,但我不知道他们是否在提供我所需要的东西。我会询问。

1 个答案:

答案 0 :(得分:0)

我找到了所需的设备型号列表。要查看它,只需转到https://deviceatlas.com/device-data/devices并点击“制造商浏览” 以显示它。现在,我可以尝试使用该列表来修改platform.js或编写类似的内容以检测出我想要的品牌。 (当然,如果有人已经为排名前10或20的制造商这样做了,那就更好了, 分享了他的好代码。)

编辑1:也有mobile-detect.js,其制造商检测范围比platform.js宽,正如您在https://github.com/hgoebl/mobile-detect.js/blob/master/mobile-detect.js上的代码中所看到的那样,但仍然有些主要品牌要么覆盖不佳,要么完全被覆盖也错过了那个。无论如何,包括每个单一制造商似乎都超出了单身职业者的范围。这就像尝试通过徒步旅行自行绘制世界地图一样。因此,如此广泛的服务必须是付费服务也就不足为奇了。

  

编辑2:等等!我不知道这个存在:https://github.com/faisalman/ua-parser-js   确实是肌肉!看来它能够识别我的Sony手机。好! (至少在移动Chrome浏览器中可以。我也尝试了移动Firefox,但它不起作用。)至于华为,不幸的是它无法识别它。它仍然可以提供一定的用途,要进行测试,您可以下载它(最好是最小化)并使用类似这样的代码

<script src="ua-parser.min.js" charset="utf-8"></script>
<script type="text/javascript">

var parser = new UAParser();
var result = parser.getResult();
alert(result.device.vendor);

//this worked for me
var userDevice = result.device.vendor;
if(userDevice == "Sony")
{
// code to be run on Sony devices
}
</script>