angular1/angular2 嵌入外部链接

如嵌入外部链接 url 为 https://www.baidu.com

AngularJS

两种方式处理

1.在Controller中直接使用 $sce 服务

在js中定义变量:

$scope.src = $sce.trustAsResourceUrl('https://www.baidu.com');

使用:

<iframe class="report-iframe"
        width="750px"
        height="750px"
        seamless
        frameBorder="0"
        ng-src="{{src1}}"
        >
2.自定义过滤器来处理,如
angular.module('app',[]).filter('to_trusted', function($sce) {
    return function(url) {
        return $sce.trustAsResourceUrl(url);
    }
});

使用:

<iframe class="report-iframe"
        width="750px"
        height="750px"
        seamless
        frameBorder="0"
        ng-src="{{src1 | to_trusted}}"
        >

Angular2

同样两种处理方式

1. 在组件中直接处理
export class DemoUrlPage {
  url : SafeResourceUrl;
  constructor(private sanitizer: DomSanitizer) {
  }

  ionViewDidLoad() {
    this.url = this.sanitizer.bypassSecurityTrustResourceUrl('http://www.baidu.com');
  }
}

使用:

<ion-content padding>
  <iframe class="report-iframe" width="100%" height="300" [src]="url"></iframe>
</ion-content>
2.在管道中使用:

定义管道:

@Pipe({
  name: 'safeUrl',
})
export class SafeUrlPipe implements PipeTransform {
  /**
   * Takes a value and makes it lowercase.
   */
  constructor(private sanitizer: DomSanitizer) {}
  transform(url) {
    return this.sanitizer.bypassSecurityTrustResourceUrl(url);
  }
}

使用:

<ion-content padding>
  <iframe class="report-iframe" width="100%" height="300" [src]="url | safeUrl"></iframe>
</ion-content>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值