0

データベースからの html を使用してページ セクションをレンダリングしたい。デフォルトの翡翠とモンゴでキーストーンを使用します。

init (view.on('init', function(next) {) 関数でテストするには、

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

私の jade テンプレート ソースでは、これは左角かっこと右角かっこがエスケープされた状態でレンダリングされます。

  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 に答える