2016-12-29 17 views
1

我需要關於角2中的iframe的幫助。從數據庫中向角2注入Iframe

首先將iframe直接嵌入到組件模板中可以正常工作。

<iframe 
    src='http://plnkr.co/edit/zZ0BgJHvQl5CfrZZ5kzg?p=preview | safeUrl' 
    allowtransparency='true' 
    frameborder='0' 
    scrolling='no' 
    width='80%' 
    height='500'> 
</iframe> 

這裏是低於

import { Pipe, PipeTransform } from '@angular/core'; 
import { DomSanitizationService } from "@angular/platform-browser"; 

@Pipe({ 
    name: 'safeUrl' 
}) 
export class SafeUrlPipe implements PipeTransform { 

    constructor(private sanitizer: DomSanitizationService) { 

    } 

    transform(url) { 
    return this.sanitizer.bypassSecurityTrustResourceUrl(url); 
    } 

} 

爲safeUrl管代碼這一切工作正常。

問題是,當我想從數據庫中角加載這個iframe中拋出一個錯誤,將無法呈現的iframe

ERROR: browser_adapter.js:90WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss). 

此iframe正在從的NoSQL數據庫中讀取並返回到角2嵌套在HTML腳本中。

下面是一個例子下面的東西正在從數據庫中獲取:

"<h2>Some text returned from the DB</h2> 
<iframe 
    src='http://plnkr.co/edit/zZ0BgJHvQl5CfrZZ5kzg?p=preview | safeUrl' 
    allowtransparency='true' 
    frameborder='0' 
    scrolling='no' 
    width='80%' 
    height='500'> 
</iframe> 
<p>Some more text returned from the DB</p>" 

我如何能得到這個從數據庫中返回時,在角2呈現什麼建議?謝謝。

更新

所以這是怎麼了加入的iframe嵌套的HTML代碼塊內從數據庫到{{(後$ |異步)?說明}},如下圖所示。

<h2>{{ (post$ | async)?.title }}</h2> 
<div innerHTML="{{ (post$ | async)?.description }}" ></div> 

謝謝!

+1

這正是導致錯誤的代碼嗎? AFAIK該錯誤僅由通過綁定添加值引起的,但用'