我的Ember应用程序中有以下帮助:
Ember.Handlebars.helper "social_profiles", ((person) ->
person.social_profiles.map (item) ->
" <a href=''> #{item.type_name}</a>"
), "social_profiles"
每次调用帮助器时,它都会返回一个转义字符串,但我想要使用ember来显示HTML链接。
我怎样才能做到这一点?
答案 0 :(得分:9)
您可以使用new Handlebars.SafeString("<b>hello world</b>")
将字符串标记为安全。把手现在不会逃脱任何输入。
但是,您需要确保您的字符串是安全的。由于您传入的item.type_name
可能包含恶意代码,因为您声明字符串是安全的,因此不会被捕获。
为了解决这个问题,首先要逃避用户输入,然后将其包装在标记为安全的标签中。
示例:
Ember.Handlebars.registerHelper('boldItem', function(item) {
var escaped = Handlebars.Utils.escapeExpression(item);
return new Handlebars.SafeString("<b>" + escaped + "</b>");
});
答案 1 :(得分:0)
感谢@ Ryan的回答
Ember.Handlebars.helper "social_profiles", ((person) ->
return new Handlebars.SafeString person.social_profiles.map (item) ->
" <a href=''>#{item.type_name}</a>"
), "social_profiles"