Ember.js 对象字段内的超链接

Ember.js 对象字段内的超链接,ember.js,Ember.js,我的余烬应用程序中有一个对象,带有一个描述字段。此描述字段可能包含超链接,如下所示 My fancy text <a href='http://other.site.com' target='_blank'>My link</a> My fancy text continues... 然而,当我正常输出它时,就像{{description}}一样,我的超链接显示为纯文本。为什么会发生这种情况?我如何修复这种情况?默认情况下,Handlebar会在输出中转义任何HTML。

我的余烬应用程序中有一个对象,带有一个描述字段。此描述字段可能包含超链接,如下所示

My fancy text <a href='http://other.site.com' target='_blank'>My link</a> My fancy text continues...

然而,当我正常输出它时,就像{{description}}一样,我的超链接显示为纯文本。为什么会发生这种情况?我如何修复这种情况?

默认情况下,Handlebar会在输出中转义任何HTML。对于标记中的未缩放文本,请使用三重隐藏:

当控制属性时,还有一种选择:handlebar.SafeString。假定SafeString是安全的,并且也不会转义。发件人:


注意-请注意这一点。呈现来自用户输入的未显示文本存在安全问题;例如,攻击者可以在描述中插入恶意脚本并劫持您的页面。

如果必须,请使用三个胡须。事实证明,我需要的远不止这些。这个字段是语言化的,所以我必须通过为它选择正确语言后缀的帮助器来输入它,如果必要的话,还必须截断它。我还用新的把手解决了我的问题。谢谢你对逃跑的帮助。@TwiStar是的,SafeString也可以防止逃跑;为了完整起见,我将把它添加到答案中。很高兴你把它整理好了:
{{{ description }}}
Handlebars.registerHelper('link', function(text, url) {
  text = Handlebars.Utils.escapeExpression(text);
  url  = Handlebars.Utils.escapeExpression(url);

  var result = '<a href="' + url + '">' + text + '</a>';

  return new Handlebars.SafeString(result);
});