2016-07-05 8 views
2

lade ich frage mich, ob jemand die Bedeutung des Dom Sanitisation in Angular2 in meinem Fall erklären kann:unsichere Wert in einer Ressource URL Kontext verwendet wird, wenn lokale CSS-Datei

Die img Fall ist in Ordnung, es werks nur. Das Stylesheet löst einen Fehler wie im Titel aus. Was zum was? Warum? Jemand?

<img *ngIf="css" [src]="css" style="height:64px;margin-right:8px"> 
<link *ngIf="css" rel="stylesheet" [href]="css"> 
+0

Was enthält 'css'? –

+0

/somename.css oder ./somename.css oder somename.css Ich habe alle drei Optionen ausprobiert –

+0

Ich habe gerade auf RC 3 aktualisiert, es funktionierte auf RC 1 –

Antwort

3

Update

DomSanitizationService wird mich DomSanitizer in RC.6

original

Bildern sicher umbenannt werden. Es gibt ein Tag und das zeigt die Bilddaten an, das ist es. CSS kann viel mehr. CSS kann sogar HTML https://developer.mozilla.org/en/docs/Web/CSS/::after hinzufügen, was ziemlich unsicher ist.

Damit ausdrücklich „unsicheren“ Inhalt die Sanitizer

import {DomSanitizationService} from '@angular/platform-browser'; 

return this.sanitizer.bypassSecurityTrustStyle(style); 

oder verwenden Sie eine der anderen Methoden verwenden, die Sanitizer https://angular.io/docs/js/latest/api/platform-browser/index/DomSanitizationService-class.html

Siehe auch https://stackoverflow.com/a/37076868/217408 für ein Beispiel Rohr vorgesehen, dass die bypassSecurityXxx Methoden anwenden können direkt in Bindungen.