说我有这个帮手,但我不想相信name
的价值,因为它是用户生成的内容:
Handlebars.registerHelper('button', function(name) {
return new Handlebars.SafeString(
"<button>" + name + "</button>"
);
});
是否可以告诉把手只有部分字符串应该是安全的?
EG。 (这不起作用,但你明白了):
Handlebars.registerHelper('button', function(name) {
return [
new Handlebars.SafeString("<button>"),
name,
new Handlebars.SafeString("</button>")
];
});
答案 0 :(得分:2)
看起来你可以逃脱不安全的部分,使整个字符串安全,而不是将部件标记为不安全:
Handlebars.registerHelper('button', function(name) {
return new Handlebars.SafeString(
"<button>" + Handlebars.Utils.escapeExpression(name) + "</button>"
);
});