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

问题描述 投票:0回答:1

人们已经讨论过这个问题 如何在手机浏览器上使用javascript找到手机制造商检测设备品牌

我们正在经历这十年(即 2020 年代),Web 应用程序开发人员可能会发现自己处于尴尬的境地,每个设备组可能需要稍微不同的编码方式。这可能是由于兼容性优化或两者兼而有之的原因。

因此,情况引出了一个问题,

是否有一个广泛的 javascript 库,涵盖所有或最常见的品牌,可用于类似这样的任务:

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

以下是一些查看常见品牌的受欢迎程度/市场份额的来源, http://gs.statcounter.com/vendor-market-share/mobilehttps://www.idc.com/promo/smartphone-market-share/vendor

有像 https://deviceatlas.com/products/web 这样的付费服务,但如果可能的话,我们宁愿有免费的解决方案

javascript android device platform smartphone
1个回答
1
投票

我找到了我正在寻找的设备型号的详细列表。要查看它,只需转到 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 确实是肌肉!看起来它能够识别我的索尼手机。好的! (至少手机版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>
© www.soinside.com 2019 - 2024. All rights reserved.