0
서비스에 대한 http 호출로 얻는 조건에 따라 외부 JS 파일을 동적으로로드하려고합니다. 내가 bypassSecurityTrustScript
및 bypassSecurityTrustHtml
을 사용하지 둘 다 나를 위해 작동 내 구성 요소에서각도 2 스크립트 살균 장치 사용 방법
<script src="mysource/url"></script>
, 내 스크립트 태그가 제거 얻을 :
나는 app.component.html
로에 <script>
를 삽입하는 방법을
<div class='container-fluid'>
<div class='row'>
<div class='col-sm-12 body-content'>
<div [innerHTML]="script"></div>
<script type="text/javascript" [src] = "src"></script>
<router-outlet></router-outlet>
</div>
</div>
</div>
@Component({
selector: 'app',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css']
})
export class AppComponent {
public script: any;
public src: any;
public constructor(private titleService: Title, private sanitizer: DomSanitizer) {
let x = '<script>alert("hi")</script>';
this.script = sanitizer.bypassSecurityTrustHtml(x);
this.src = sanitizer.bypassSecurityTrustScript('http://www.google.com');
}
어떤 생각을 할 수 이 문맥에서는 DomSanitizer
클래스를 사용합니까?
구현할 수 있었습니까? – talentedandrew
@talentedandrew 아니오 내 접근 방식을 변경했습니다. Angular Universal을 사용하고 있는데, cshtml 뷰에 로직을 추가하기로 결정했습니다. – shiva
좋아, 나는 또한 비슷한 문제에 직면했다. 그런 다음이 라이브러리 https://www.npmjs.com/package/postscribe를 사용하여 저의 트릭을 만들었습니다. 제 경우에는 각진 v4 구성 요소 템플릿에 제 3 자 광고 스크립트를 렌더링했습니다. 확실히 확인해야합니다. (도서관). – talentedandrew