我有一个Util.ts,它定义了格式函数,如下所示。问题出在具有样式属性的小标签上。
export const formatMessage = (message ) =>{
return '<b>' + message.name+" </b><small style ='color:black;'>" +message.ts + '</small> ' + message.c;
}
但是,当呈现的小标签的样式属性被删除时,
我不确定为什么会这样,由formatMessage函数返回的HTML字符串模板是使用DIV的innerHTML附加到HTML的,如此处所示。
<ul style="list-style-type: none;">
<li *ngFor="let each of messages"><div class='messageStyle' [innerHTML]="each"> </div></li>
</ul>
为什么要删除此样式属性(而保留类属性),如何解决此问题?
答案 0 :(得分:2)
dom消毒剂会从您的html中指定样式。这样做是为了防止xss攻击。您可以通过以下方法绕过安全检查:
class RootLessException(Exception):
pass
...
...
def preorder(self):
if not self.root:
raise RootLessException
val = self.root
...
并将消毒剂传递给formatMessage