Kgtkr's Blog

Posts about "angular"

All tags
2017/08/30
余計なタグとは 下記のようなテンプレートがあったとします。 //<my-msg>コンポーネント <div>{{msg}}</div> //使う <my-msg [msg]="'はろー'"></my-msg> reactやvue.jsの場合以下のように出力されます。 <div>はろー</div> しかしAngularの場合は以下のように出力されます。 <my-msg><div>はろー</div></my-msg> つまり余計なタグとは<my-msg>など独自コンポーネントのセレクターの事です。 一般的な場合の回避方法 selectorをdiv[myMsg]と指定し、テンプレートを以下のようにすることで回避する事が出来ます。 //定義 {{msg}} //使用 <div myMsg [msg]="'はろー'"></div> しかし、この方法はASTの再起では使えません。 (正確には使えないことはないがNodeの種類^2コピペしないといけないのでしたくない) 解決方法 ng-templateとngTemplateOu
2017/04/01
解決法 innerHTMLに設定するHTMLはデフォルトでサニタイズされるようになっており、iframeタグが自動的に除去されるのが原因でした。 サニタイズされるのはjavascriptだけだと思っていましたが、iframeも駄目みたいです。 import { DomSanitizer } from '@angular/platform-browser'; constructor(private sanitizer: DomSanitizer) {} let innerHTML = this.sanitizer.bypassSecurityTrustHtml(html); 注意 サニタイズすると、iframeだけではなくjavascriptも埋め込み可能になるのでXSSには注意して下さい。 参考 Security - GUIDEDomSanitizer - API