如何设置html
lang属性,例如服务器端渲染的HTML中的<html lang="en">
?
在客户端上,我可以预订onLangChange
并在下面的代码中设置属性,但是如何访问服务器端的html元素?
this.renderer.setAttribute(document.body.parentNode, "lang", lang.toLowerCase());
答案 0 :(得分:0)
截至目前,我最终得到了以下解决方案:
在main.server.ts
中,我编辑了createServerRenderer()
方法来拦截以字符串形式返回的html
,而只是将<html
替换为<html lang="xx"
。在我的情况下,每个语言都映射到单独的域,所以我可以按域确定当前语言
let promise = renderPromise.then(html => {
return { html: html.replace("<html", `<html lang="${currentLanguage}"`) };
});