#node.js #express
#node.js #экспресс
Вопрос:
В узле я пытаюсь отправить ответ в соответствии с устройством. Если это Веб, я отправляю один вид ответа, а если это мобильный, я отправляю другой вид ответа. Но я не знаю, как найти устройство и реализовать условие.
TS
if(mobile){ //How to check whether it is mobile
res.send(res.mobile)
}
else if(web){ //How to check whether it is web
res.send(res.web)
}
else{
res.send(res.error)
}
Ответ №1:
Вы можете использовать npm install node-device-detector --production
const DeviceDetector = require('node-device-detector');
const DeviceHelper = require('node-device-detector/helpers');
const detector = new DeviceDetector;
const userAgent = 'Mozilla/5.0 (Linux; Android 5.0; NX505J Build/KVT49L) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/43.0.2357.78 Mobile Safari/537.36';
const result = detector.detect(userAgent);
/* check device type (feature phone, smartphone or phablet) */
DeviceHelper.isMobile(result);
/* check device type is desktop */
DeviceHelper.isDesktop(result);
/* check device type is tablet */
DeviceHelper.isTabled(result);
/* check device type car (side panel in car) */
DeviceHelper.isCar(result);
/* check device type feature phone (push-button telephones) */
DeviceHelper.isFeaturePhone(result);
/* check device type smartphone */
DeviceHelper.isSmartphone(result);
/* check device type phablet */
DeviceHelper.isPhablet(result);
/* check device type game console (xBox, PlayStation, Nintendo etc) */
DeviceHelper.isConsole(result);
/* check device type smart speaker (Alisa, Alexa, HomePod etc) */
DeviceHelper.isSmartSpeaker(result);
/* check device type SmartTV/TV box */
DeviceHelper.isTv(result);
/* check device type portable camera */
DeviceHelper.isCamera(result);
/* portable terminal, portable projector */
DeviceHelper.isPeripheral(result);
/* */
DeviceHelper.isSmartDisplay(result);
/* check device type boxes, blu-ray players */
DeviceHelper.isPortableMediaPlayer(result);
/* check device type watches, headsets */
DeviceHelper.isWearable(result);
Замените UserAgent вашим заголовком : req.headers[‘user-agent’].
Еще пример https://www.npmjs.com/package/node-device-detector
Комментарии:
1. будет ли оно поддерживать node v8
2. Да, он будет поддерживать!