当我收到如下警告时:
"WARNING: sanitizing HTML stripped some content"
我进行了一些调查,发现人们使用以下管道或类似以下管道:
import { Pipe, PipeTransform } from '@angular/core';
import { DomSanitizer, SafeHtml } from '@angular/platform-browser';
@Pipe({ name: 'sanitizeHtml' })
export class SanitizeHtmlPipe implements PipeTransform {
constructor(private _sanitizer: DomSanitizer) { }
transform(v: string): SafeHtml {
return this._sanitizer.bypassSecurityTrustHtml(v);
}
}
很不幸,即使我像这样实现管道,仍然会出现相同的错误:
<span [innerHTML]="specialist.blocks[0].paragraph.html | sanitizeHtml"></span>
<p [innerHTML]="package.fields.remarks | sanitizeHtml"></p>
<li [innerHTML]="package.fields.name | sanitizeHtml"></li>
所以我想知道是我实现了管道错误还是其他原因导致它无法工作?
编辑:
specialist.blocks [0] .paragraph.html
示例:
"< div id="test" class="test"> \n< h3>名称专家< /h3>\n< p>随机文本< /p>< /div>\n< /div>"
package.fields.remarks
示例:
"安排:包括3晚住宿和2次每人的早餐和果岭费,可选择北方和南方< br>\n- 免费每日进入spa(1小时 Hamman,桑拿,游泳池,水疗)"
package.fields.name
示例:
"短假期3晚< br>2人/高级双人房/LO,包括高尔夫球"
在Firefox和Chrome中收到警告
package.fields.remarks
的值是多少?你能在这个问题中分享一下吗? - Chandru