get user agent from inside jade

假如想象 提交于 2019-12-01 03:35:12

Just write your own tiny middleware

app.use(function(req, res, next) {
  res.locals.ua = req.get('User-Agent');
  next();
});

Put this before your app.router

app.configure(function(){
  app.set('port', process.env.PORT || 3000);
  app.set('views', __dirname + '/views');
  app.set('view engine', 'jade');
  app.use(express.favicon());
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
  app.use(express.methodOverride());

  // here
  app.use(function(req, res, next) {
    res.locals.ua = req.get('User-Agent');
    next();
  });

  app.use(app.router);
  app.use(express.static(path.join(__dirname, 'public')));
});

Then you can use the ua variable in any jade template (for example index.jade)

extends layout

block content
  h1= title
  p Welcome to #{title}
  p=ua

You can pass user-agent from express to jade : (see here)

app.get('/index', function(req, res){
    res.render('home.jade', {
    locals: {
            useragent: req.getHeader('User-Agent')
            }
    });
    res.end();
});

in your jade file

html
  body
    h1 #{useragent}
script(type='text/javascript')
  var useragent = #{useragent};
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!