返回混合安全&车把助手的不安全内容

时间:2013-10-18 15:38:10

标签: handlebars.js

说我有这个帮手,但我不想相信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>")
  ];
});

1 个答案:

答案 0 :(得分:2)

看起来你可以逃脱不安全的部分,使整个字符串安全,而不是将部件标记为不安全:

Handlebars.registerHelper('button', function(name) {
  return new Handlebars.SafeString(
    "<button>" + Handlebars.Utils.escapeExpression(name) + "</button>"
  );
});