如何从发出请求的设备中检测是电脑还是手机

11 浏览
0 Comments

如何从发出请求的设备中检测是电脑还是手机

我在我的托管站点上有两个文件,名为index.php和index.html。

有没有办法检测用户发出请求的设备,并且如果是移动设备或宽度小于通常的个人电脑或笔记本电脑,则加载index.html;如果请求来自较大的宽度,即个人电脑或台式机,则加载index.php。

提前感谢。

0
0 Comments

如何检测请求的设备是电脑还是手机

有一个 npm 模块叫做 device,可以根据请求的 user agent 来判断设备类型。可以自己写正则表达式,也可以使用这个模块。以下是示例代码:

var device = require('device')
app.get('/', function(req, res) {
    var ua = req.headers['user-agent'];
    if(device.is('phone')){
       console.log('设备是手机');
    }else if(device.is('tablet')){
       console.log('设备是平板');
    }else  if(device.is('desktop')){
       console.log('设备是电脑');
    }else {
       console.log('设备是其他类型');
    }
});

需要注意的是,各种浏览器允许用户修改 user agent 字符串来伪装成其他浏览器。

但是,服务器无法确定用户设备的尺寸。

如果你在使用 PHP 而不是 Node.js,那么这段代码将无法使用。你需要在 PHP 中使用类似的方法进行判断。

0