와 나는 WYSIWYG 편집기 (CKEditor)를 사용하고 내가 알아 내려고 노력하고 있어요하는 각도 (5)에 DomSanitizer을 사용하기에 적합한 방법이다 각도 5.각도 5 DomSanitizer는 하이퍼 링크
와 내용을 렌더링하는 것을 시도하고있다 내가 직면하고있는 문제는 하이퍼 링크가 결과로 생기는 HTML에서 작동하지 않는다는 것입니다 ("클릭 가능하지 않음").
public getSafeContent(): SafeHtml {
return this.sanitizer.bypassSecurityTrustHtml(this.page.content);
}
내 템플릿에이 방법을 사용하여 : :이 그대로 모든 인라인 스타일과 HTML를 렌더링
<div [innerHTML]="getSafeContent()"></div>
을 내가는 SafeHTML의 내용을 반환하려면 다음 타이프 스크립트 코드를 사용하고
, 하이퍼 링크는 작동하지 않습니다.
내가 대신이 일을 시도 : 그 하이퍼 링크 결과public getSafeContent(): SafeHtml {
return this.sanitizer.sanitize(SecurityContext.HTML, this.page.content);
}
실제로 작동하지만 인라인 스타일은 아니다.
위생 처리 된 콘텐츠로 작업 할 수있는 스타일과 하이퍼 링크를 모두 얻을 수있는 방법이 있습니까?
업데이트
이 페이지는 크롬 개발 도구의 모습입니다 :
<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>
와 구글 링크를 클릭 할 수 없습니다.
무엇 하이퍼 링크가 그대로입니까? 문맥은 어떻게 생겼습니까? –
'sanitize()'대신 [bypassSecurityTrustHtml] (https://angular.io/api/platform-browser/DomSanitizer#bypassSecurityTrustHtml)을 시도해 보셨습니까?
google
그래 나는 같은 결과 DOM 보면 무엇을 –일반적인 상황은? – user2845798