Certains de mes objets de données utilisent du HTML prêt avec des balises régulières entourées de "<" et ">" . Moustache.js les convertit en <
et >
. Faire un String.replace(/>/g,'>').replace(/</g,'<')
sur la sortie résultante introduit beaucoup de décalage.
Est-ce un comportement attendu ? Peut-il être modifié pour conserver les < et > ? Ces symboles devraient-ils être échappés d'une manière ou d'une autre ?
La sortie de données avec {{data}}
(double moustache) échappe toujours aux caractères html. Utilisez {{{data}}}
(triple moustache) si vous ne voulez pas qu'il s'échappe.
Oh cool! Je ne le savais pas. merci, thedufer.
@amper5and : Notez que si vous utilisez {{{ data }}}
il est de _votre_ responsabilité de vous assurer que vous ne créez pas de vulnérabilités XSS ou CSRF, car vous contournez le mécanisme conçu pour empêcher cela :)
De plus, je pense que la syntaxe {{&data}}
est équivalente, même si je ne l'ai jamais utilisée.
c'est cool
Commentaire le plus utile
La sortie de données avec
{{data}}
(double moustache) échappe toujours aux caractères html. Utilisez{{{data}}}
(triple moustache) si vous ne voulez pas qu'il s'échappe.