0

想要使用来自数据库的 html 来呈现页面部分。使用默认的jade & mongo 的keystone。

在我的 init (view.on('init', function(next) {) 函数中测试我有

 locals.intro = "my intro<b>bolder 2</b>";

在我的翡翠模板源上,这会通过转义的开始和结束尖括号呈现:

  my intro&lt;b&gt;bolder 2&lt;/b&gt;

我该如何阻止这个?同样,对于来自数据库的字段,console.log 会显示预期值,如预期的那样:

  </b>

但在页面上它逃脱了。

注意:不要认为它与 decodeURIComponent 相关,因为不想在服务器上解码,但希望服务器在发送到浏览器之前停止编码,部分页面呈现。

4

1 回答 1

3

您可以使用 ! 请求 Jade 不要转义字符

// if intro = "<b> bolder </b>"

!= intro // will render as <b> bolder </b>

但是,如果任何未转义内容的来源不受信任(即用户),请小心,因为这可能会导致非常糟糕的事情。

于 2014-11-05T19:03:02.520 回答