在 EJS 中呈现每个用户代理的应用程序视图

Render app views per user agent in EJS

我正在开发一个节点。js/Express 使用 EJS 并尝试在桌面或移动设备上呈现某些视图。

我已将以下中间件添加到 return 我 app.js 中的用户代理:

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

接下来,如果我回显 <%= ua %> 在我看来,我成功获得了用户代理,但我不确定如何实际检查特定代理。

我试过 <$ if(ua.match(/iPhone)) { %> 作为一个简单的例子,但出现了语法错误。如有任何帮助,我们将不胜感激!

几个错误:

1) 您从嵌入脚本中的 $ 开始。您应该改用 %.

2) 您需要使用 /.

结束您的正则表达式

像这样:

<% if(ua.match(/Intel/)) { %>
  <%= ua %>
<% } %>