【问题标题】:Angular set html lang atttribute in SSR buildSSR构建中的角度设置html lang属性
【发布时间】:2018-10-11 11:36:45
【问题描述】:

如何设置html lang 属性,例如<html lang="en"> 在服务器端呈现的 html 中? 在客户端我可以订阅onLangChange并在下面的代码中设置属性,但是如何访问服务器端的html元素?

this.renderer.setAttribute(document.body.parentNode, "lang", lang.toLowerCase());

【问题讨论】:

    标签: angular server-side-rendering angular-universal ngx-translate


    【解决方案1】:

    到目前为止,我最终得到了这个解决方案:

    main.server.ts 中,我编辑了createServerRenderer() 方法来拦截返回为字符串的html,并将<html 替换为<html lang="xx"。在我的情况下,每个语言都映射到单独的域,所以我按域确定当前语言

    let promise = renderPromise.then(html => {
        return { html: html.replace("<html", `<html lang="${currentLanguage}"`) };
    });
    

    【讨论】:

      猜你喜欢
      • 2023-02-04
      • 2016-05-13
      • 2016-03-13
      • 1970-01-01
      • 1970-01-01
      • 2016-01-14
      • 2020-08-02
      • 2023-03-26
      • 2016-09-26
      相关资源
      最近更新 更多