【问题标题】:How can I dynamically change the meta data of a MEAN.JS application before it loads the client?如何在加载客户端之前动态更改 MEAN.JS 应用程序的元数据?
【发布时间】:2015-04-27 21:35:40
【问题描述】:

使用 MEAN.JS 框架,我试图通过修改 app/config/express.js 文件中的 app.locals 变量来动态更改页面的元数据。有没有人尝试过这样做?

如果请求的是内部页面,例如 /t/elonmusk,我想在元标题中包含路径 (elonmusk),如果他们请求主页,则使用不同的标题。我尝试在 app.use 函数中简单地在 req.url 上使用 if 语句,但这不起作用,因为它在请求“/t/elonmusk”后发送主页请求(“/”)。我找不到查看服务器请求的原始 url 的方法。

有没有更好的修改元数据服务器端的方法?

编辑:我正在使用 URL 重新路由来删除 hashbang,因此实际的完整 URL 确实正在发送到服务器。

【问题讨论】:

    标签: javascript node.js express mean-stack meanjs


    【解决方案1】:

    由于在您的情况 /t/elonmusk 之后的 URL 部分没有发送到服务器,因此您无法在服务器端执行此操作,但是,您可以在页面加载后更改客户端上的标题。

    【讨论】:

    • 我应该澄清一下。该 URL 实际上正在发送到服务器,因为我正在使用重新路由来删除 hashbang。以link 为例。我得到了一个有效的解决方案。我会发布它作为答案。
    【解决方案2】:

    我最终通过将之前的 URL 存储在一个变量中来解决这个问题。如果当前 URL 是 '/' 并且之前的 URL 包含 '/t/' 那么我知道内部页面正在加载,然后可以适当地更新元数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-13
      • 1970-01-01
      • 2017-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多