Javascript 检测设备品牌

Javascript 检测设备品牌,javascript,node.js,device,Javascript,Node.js,Device,我正在从事网络分析。我正在使用JavaScript客户端和NodeJS服务器端。我知道我们可以使用userAgent找到,但是如何检测设备品牌(客户端或服务器端)?通过userAgent字符串进行检测可能会导致检测错误。您可以将浏览器字符串更改为所需的任何内容。在大多数情况下,它不会告诉你它是哪个设备 有一个库可以为您解析这一点,您可以使用客户端或服务器端,如上面链接的介绍页面所述 下面是一个客户端示例: <script type='text/javascript' src='pl

我正在从事网络分析。我正在使用JavaScript客户端和NodeJS服务器端。我知道我们可以使用
userAgent
找到,但是如何检测设备品牌(客户端或服务器端)?

通过userAgent字符串进行检测可能会导致检测错误。您可以将浏览器字符串更改为所需的任何内容。在大多数情况下,它不会告诉你它是哪个设备

有一个库可以为您解析这一点,您可以使用客户端或服务器端,如上面链接的介绍页面所述

下面是一个客户端示例:

    <script type='text/javascript' src='platform.js'></script>
    <script type='text/javascript'>
        alert('you are using ' + platform.description + ' on an ' + (platform.manufacturer || 'unknown vendor') )
    </script>

警报('您在'+(platform.manufacturer | | |'未知供应商')上使用'+platform.description+')

请注意,在通用浏览器上没有制造商,但应该在移动设备上获得该品牌,如苹果、三星等。

您不能直接这样做;userAgent字段不包含供应商。但是,您可以建立一个userAgent令牌库,映射到特定的供应商。不过,这将涉及到对各种设备的大量研究和测试

例如,用户代理中任何带有“iOS”、“iPhone”或“iPad”的内容都可以安全地映射到“Apple”。 例如,三星Galaxy S3的用户代理中有型号,即“GT-I9300”。然后您可以将其映射到“三星”。
…然后你需要在你想识别的其他设备上重复这个过程。在线查找用户代理字符串可能是最快的方法。

您可能从客户端获得的每个数据都可能被欺骗,因此不要期望每个用户只传输100%正确的数据


但是您可以通过nodeJS中的
req.headers['user-agent']
获取客户机useragent,这里是。

在服务器端,您可以使用设备npm模块非常轻松地完成这项工作,如果您使用的是Express.js,那么就非常简单了

安装模块

npm i --S express-device
将express代码添加为中间件

var express = require('express');
var app = express();
var device = require('express-device');
app.use(device.capture());

app.get('/hello',function(req,res) {
  res.send("Hi to "+req.device.type.toUpperCase()+" User");
});

app.listen(3000);
console.log("Listening to Port 3000");
简单而甜蜜


参考资料:

在我看来,ua parser js是最好的免费解决方案。 缩小版已打开

你需要做的是

<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);

</script>

var parser=new UAParser();
var result=parser.getResult();
警报(结果、设备、供应商);

在此之前,我已经尝试过platform.js和mobile-detect.js,但它们的检测范围对于我的应用程序来说太窄了。

一种方法是使用实际设备,访问其中一个“我的用户代理”站点,然后找到答案。据我所知,其中一个网站把我的设备型号弄对了。它应该能回答你的问题“有可能吗”。我把这个问题理解为询问显示器或监视器的设备品牌以获取有价值的信息。我会测试并让你知道。