Я скинул это вместе, используя ua-parser-js .Я уверен, что это можно улучшить, но это функционально.
Установите пакет:
sudo npm install ua-parser-js
В вашем файле маршрутов требуется UAParser:
var UAParser = require('ua-parser-js');
Сделайте некоторые вещис ним:
function ensureLatestBrowser(req, res, next) {
var parser = new UAParser();
var ua = req.headers['user-agent'];
var browserName = parser.setUA(ua).getBrowser().name;
var fullBrowserVersion = parser.setUA(ua).getBrowser().version;
var browserVersion = fullBrowserVersion.split(".",1).toString();
var browserVersionNumber = Number(browserVersion);
if (browserName == 'IE' && browserVersion <= 9)
res.redirect('/update/');
else if (browserName == 'Firefox' && browserVersion <= 24)
res.redirect('/update/');
else if (browserName == 'Chrome' && browserVersion <= 29)
res.redirect('/update/');
else if (browserName == 'Canary' && browserVersion <= 32)
res.redirect('/update/');
else if (browserName == 'Safari' && browserVersion <= 5)
res.redirect('/update/');
else if (browserName == 'Opera' && browserVersion <= 16)
res.redirect('/update/');
else
return next();
}
и затем в своем маршруте просто позвоните:
app.all(/^(?!(\/update)).*$/, ensureLatestBrowser);
Если вы хотите узнать, какую другую информацию вы можете получить с UAParser, посмотрите их демонстрационную страницу .