如何在Handlebars模板中正确输出外部传入的带CSS样式的内容?
Handlebars 直接输出带HTML/CSS内容的方法
Handlebars 默认会自动转义HTML特殊字符(比如把<转成<),所以你用{{template.header}}时,带样式的HTML内容会被当成纯文本显示,无法渲染出预期效果。
解决方法很直接,用三重大括号包裹变量,就能跳过转义逻辑,直接输出原始HTML内容:
{{{template.header}}}
当template.header的值为<p style="font-size:14px"> My header </p>时,页面会正确渲染出带14px字体样式的段落,而不是显示HTML源码。
注意:如果内容来自不可信的用户输入,直接输出原始HTML存在XSS攻击风险,务必先对内容做安全过滤。
内容的提问来源于stack exchange,提问作者Ghita
相关产品推荐
相关产品推荐

