【发布时间】:2017-06-01 06:41:19
【问题描述】:
我遇到了一个字符串被转换为其他字符串的问题。像这样的东西->“geïnkt”正在变成这个“geïnkt”。在我的模板中,我有一个像这样的对象标签:
<object type="text/html" [data]="file"></object>
在我的组件内部:
const elem = document.createElement("textarea");
elem.innerHTML = this.sanitizer.sanitize(SecurityContext.NONE, this.content);
let url = ``data:text/html,${this.sanitizer.sanitize(SecurityContext.NONE, elem.value.replace(new RegExp('\r?\n','g'), '<br />'))}``;
this.file = this.sanitizer.bypassSecurityTrustResourceUrl(url);
所以,我正在做一些消毒。现在问题是当我检查元素时,我可以看到数据正确地传递给了 data 属性。但是一旦我进一步打开对象 div ,我就有了这样的结构:
#document -> <html><head></head><body><div xmlns="http://www.w3.org/1999/xhtml">geïnkt</div></body></html>
我尝试提供 charset:UTF-8 但这也没有帮助。谁能帮我理解这里发生了什么?
【问题讨论】:
-
您需要创建一个重现问题的 plunkr