【问题标题】:Render app views per user agent in EJS在 EJS 中为每个用户代理呈现应用程序视图
【发布时间】:2017-03-20 03:08:05
【问题描述】:

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

我添加了以下中间件以在我的app.js 中返回用户代理:

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

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

我以<$ if(ua.match(/iPhone)) { %> 为例进行了尝试,但遇到了语法错误。任何帮助将不胜感激!

【问题讨论】:

    标签: node.js express user-agent ejs


    【解决方案1】:

    几个错误:

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

    2) 您需要使用/ 关闭您的正则表达式。

    类似这样的:

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

    【讨论】:

    • 哦,伙计,这很尴尬。该死的EJS。我很少犯语法错误,但感谢正则表达式提示!
    • 不用担心...您向我展示了一种在 Express 中获取 User-Agent 标头的新方法。公平交易!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-02
    • 1970-01-01
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多