0
サービスへのhttpコールで取得する条件に応じて、外部JSファイルを動的にロードしたいとします。角2スクリプトサニタイザの使用方法
私のようにapp.component.html
へ<script>
を挿入したい:私はbypassSecurityTrustScript
とbypassSecurityTrustHtml
を使用していないどちらも私の作品私のコンポーネントで
<script src="mysource/url"></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
クラスを使用しますか? http://www.example.com
スクリプトがからフェッチされるURLです
これを実装できましたか? – talentedandrew
@talentedandrewいいえ私は私のアプローチを変更しました。私はAngular Universalを使用していますが、私はcshtmlビューにロジックを追加することにしました。 – shiva
私も同様の問題に直面していました。それから私はこのライブラリhttps://www.npmjs.com/package/postscribeを使いました。私の場合、私の場合は、私の四角形のv4コンポーネントテンプレートにサードパーティの広告スクリプトをレンダリングしていました。確かにこれをチェックしてください(図書館)を出す。 – talentedandrew