一部のデータオブジェクトは、「<」と「>」で囲まれた通常のタグを使用して、すぐに使用できるHTMLを使用しています。 Mustache.jsは、これらを<
と>
変換します。 結果の出力に対してString.replace(/>/g,'>').replace(/</g,'<')
を実行すると、多くのラグが発生します。
これは予想される動作ですか? <と>を保持するように変更できますか? これらのシンボルはどういうわけかエスケープする必要がありますか?
{{data}}
(ダブル口ひげ)でデータを出力すると、常にhtml文字がエスケープされます。 エスケープしたくない場合は、 {{{data}}}
(トリプル口ひげ)を使用します。
かっこいい、イケてる! 私はそれを知りませんでした。 ありがとう、thedufer。
@ amper5and : {{{ data }}}
を使用する場合、それを防ぐように設計されたメカニズムをバイパスしているため、XSSまたはCSRFの脆弱性を作成していないことを確認するのは_あなたの_責任であることに注意してください:)
また、構文{{&data}}
は同等だと思いますが、使用したことはありません。
かっこいい👍!!!
最も参考になるコメント
{{data}}
(ダブル口ひげ)でデータを出力すると、常にhtml文字がエスケープされます。 エスケープしたくない場合は、{{{data}}}
(トリプル口ひげ)を使用します。