Sto usando DomSanitizer con un SVG in una stringa html.
Precedentemente alla versione corrente di Angular, questo ha funzionato bene:
this.domSanitizer.bypassSecurityTrustHtml(content);
Ora sto richiamando un object
SafeHtmlImpl {changingThisBreaksApplicationSecurity: " blah "} changingThisBreaksApplicationSecurity
Esiste ora un nuovo modo per accedere all’output di DomSanitizer? Dovrei riceverlo come tipo SafeHTML o qualcosa del genere? Qual è il punto in avere bypassSecurityTrustHtml se ancora filtri html?
Qualche risposta su una cartolina? Per favore…
DEMO: https://plnkr.co/edit/Qke2jktna55h40ubUl8o?p=preview
import { DomSanitizer } from '@angular/platform-browser' @Pipe({ name: 'safeHtml'}) export class SafeHtmlPipe implements PipeTransform { constructor(private sanitized: DomSanitizer) {} transform(value) { console.log(this.sanitized.bypassSecurityTrustHtml(value)) return this.sanitized.bypassSecurityTrustHtml(value); } } @Component({ selector: 'my-app', template: ` `, }) export class App { name:string; html: safeHtml; constructor() { this.name = 'Angular2' this.html = ""; } }
Usa DomSanitizer.bypassSecurityTrustHtml
:
constructor(private sanitizer: DomSanitizer) { } let html = this.sanitizer.bypassSecurityTrustHtml("");
Ulteriori informazioni: https://angular.io/docs/ts/latest/guide/security.html#bypass-security-apis