1

假设我有这个助手,但我不想相信它的价值,name因为它是用户生成的内容:

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

是否可以告诉车把只有部分绳子应该是安全的?

例如。(这不起作用,但你明白了):

Handlebars.registerHelper('button', function(name) {
  return [
    new Handlebars.SafeString("<button>"), 
    name,
    new Handlebars.SafeString("</button>")
  ];
});
4

1 回答 1

2

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

Handlebars.registerHelper('button', function(name) {
  return new Handlebars.SafeString(
    "<button>" + Handlebars.Utils.escapeExpression(name) + "</button>"
  );
});
于 2013-10-18T15:53:11.943 回答