2017-11-15 7 views
0

他の多くの人と同様に、サーバーからHTMLページを取得してIONICアプリケーションに表示しようとしています。ここでIonic DomSanitizerがUncaught TypeErrorを返す:nullのプロパティ 'offsetHeight'を読み取ることができない

は、テンプレート/ htmlのだ:

<ion-content padding [innerHtml]="HTMLcontent"> 
</ion-content> 

そして、ここでは、モジュールの:

import { Component } from '@angular/core'; 
import { IonicPage, NavController, NavParams } from 'ionic-angular'; 
import { Http } from '@angular/http'; 
import { DomSanitizer } from "@angular/platform-browser"; 

export class RandomPage { 
    HTMLcontent; 
    constructor(public navCtrl: NavController, public navParams: NavParams, private http:Http, private sanitizer: DomSanitizer) {} 
    ionViewDidLoad() { 
    this.http.get("SAFE_URL_HERE").subscribe(html=>{ 
     this.HTMLcontent = this.sanitizer.bypassSecurityTrustHtml(html['_body']); 
    }); 
    } 
} 

さて、問題は、私は、このページにアクセスしようとするたびに、私はこのエラーを取得することです:

Uncaught TypeError: Cannot read property 'offsetHeight' of null 
    at Content.getContentDimensions (content.js:529) 
    at Content._readDimensions (content.js:693) 
    at content.js:220 
    at SafeSubscriber.schedulerFn [as _next] (core.js:4235) 
    at SafeSubscriber.__tryOrUnsub (Subscriber.js:238) 
    at SafeSubscriber.next (Subscriber.js:185) 
    at Subscriber._next (Subscriber.js:125) 
    at Subscriber.next (Subscriber.js:89) 
    at EventEmitter.Subject.next (Subject.js:55) 
    at EventEmitter.emit (core.js:4203) 

私が今見つけた唯一の回避策は、次のようなテンプレートを使用することです。

<ion-content padding>{{HTMLcontent}}</ion-content> 

しかし、それ意志の代わりにHTMLの出力テキスト、それはOKではありませんので、

答えて

1

イオンコンテンツタグ内のdivを使用してみてください

<ion-content padding> 
<div [innerHtml]="HTMLcontent"></div> 
</ion-content> 
関連する問題