Ich bin mit einem WYSIWYG-Editor (CKEditor) und versuchen, den Inhalt mit kantigem 5.Angular 5 DomSanitizer mit Hyperlinks
zu machen Was ich versuche, ist der richtige Weg, um herauszufinden, DomSanitizer in Angular 5. verwenden Problem, mit dem ich konfrontiert bin, ist, dass Hyperlinks nicht funktionieren (sind nicht "anklickbar") in der resultierenden hygienisierten HTML.
ich folgenden Typoskript Code bin mit einem Safehtml Inhalt zurück:
public getSafeContent(): SafeHtml {
return this.sanitizer.bypassSecurityTrustHtml(this.page.content);
}
und es in meiner Vorlage auf diese Weise mit:
<div [innerHTML]="getSafeContent()"></div>
Dies wird die HTML mit alle Inline-Styles macht intakt , aber Hyperlinks funktionieren nicht.
Ich habe versucht, diese stattdessen tun:
public getSafeContent(): SafeHtml {
return this.sanitizer.sanitize(SecurityContext.HTML, this.page.content);
}
, die in dieser Hyperlinks führt tatsächlich funktioniert, aber inlines Stile sind nicht.
Gibt es eine Möglichkeit, beide Stile und Hyperlinks für die Verwendung von gesäuberten Inhalten zu verwenden?
aktualisiert
Dies ist, was die Seite wie in Chrome Entwickler-Tool aussieht:
<div _ngcontent-c22="" class="row">
<div _ngcontent-c22="" class="col-lg-12">
<div _ngcontent-c22="">
<p><a href="http://www.google.com">google</a></p>
</div>
</div>
</div>
und die Google-Verbindung ist nicht anklickbar.
Welche Hyperlinks? Wie sieht der Kontext aus? –
Haben Sie [bypassSecurityTrustHtml] (https://angular.io/api/platform-browser/DomSanitizer#bypassSecurityTrustHtml) anstelle von 'sanitize()' ausprobiert? –
typischen Kontext, der nicht funktioniert, ist:
google
und ja, ich habe versucht, bypassSecurityTrustHtml – user2845798