在离子内容中加载外部URL

时间:2017-12-18 12:02:52

标签: javascript cordova ionic-framework

我正在使用离子1,我想在离子内容中加载一个外部URL(比如Messenger应用程序) 我已经尝试过cordova-plugin-inappbrowser,但它会在新页面中加载网址。

这是我使用的代码:

cordova.InAppBrowser.open(item.url, '_self');

我也尝试在iframe中嵌入网址,但由于网址不是我的,因此拒绝显示。

这就是我写的<iframe src="{{item.url | trustUrl}}"></iframe>

任何帮助将不胜感激:)

1 个答案:

答案 0 :(得分:4)

我尝试使用i frame和domsanitizer My Html

<ion-header>
  <ion-navbar color="danger">
    <button ion-button menuToggle>
      <ion-icon name="menu"></ion-icon>
    </button>
    <ion-title>Payments Detail</ion-title>
  </ion-navbar>
</ion-header>

<ion-content>
  <iframe width="100%" height="100%" [src]="myurl" frameborder="0" allowfullscreen></iframe>
</ion-content>

我的ts是

import { Component } from '@angular/core';
import { DomSanitizer } from '@angular/platform-browser';
import {DATA} from "../../app/config";
import {NavParams, ToastController} from "ionic-angular";
import {Network} from "@ionic-native/network";


@Component({
  templateUrl: 'paymentDetail.html'
})
export class PaymentDetail {
    myurl:any="";
  constructor(private network: Network,private toastCtrl: ToastController,private sanitizer: DomSanitizer,public navParams: NavParams) {

  }
    ngOnInit() {
        if(this.network.type !="none"){
        console.log(this.navParams.get("payment"));
        this.myurl=this.sanitizer.bypassSecurityTrustResourceUrl(DATA["API_BASE_URL2"]+"userpage/RedirectNow?id="+this.navParams.get("payment"));
        }else {
            let toast = this.toastCtrl.create({
                message: "check your internet connection before process",
                duration: 2000,
                position: 'middle'
            });
            toast.present();
        }
  }

}

试试这个。