如何撤消bypassSecurityTrustHtml,即将SafeValue转换回字符串

时间:2017-10-26 16:19:00

标签: angular html-sanitizing

我正在生成html,并使用

将其插入我的网页
let data = '<font color=blue>hello world</font>';
this.safevalue = this.domSanitizer.bypassSecurityTrustHtml(data);

在我的代码的其他地方,我想将安全值转换回字符串,所以我尝试了这个......

data = this.safevalue.toString();

但是这会将数据设置为这样的字符串......

'SafeValue must use [property]=binding: (see http://g.co/ng/security#xss)'

这没用“

2 个答案:

答案 0 :(得分:5)

我不知道您是否已经找到了解决此问题的方法,但是,如果您只想要原始值,则标记为安全:

var yourString = this.domSanitizer.sanitize(SecurityContext.HTML, data)

答案 1 :(得分:0)

我已经挖掘了source code,似乎 无法 SafeValue获取原始字符串。所以我想我必须为所有不安全的值保留并行数据数组。