ionic3 页面嵌入iframe浏览第三方页面返回操作

1.import { DomSanitizer } from "@angular/platform-browser";   //目标页面引入

2.private sanitizer: DomSanitizer  //构造函数里

3.<iframe id='docframe' name="admin" [src]="url|safe" width="100%" height="100%" frameborder="0" align="center"></iframe>  //page

4.首先在iframe框架中在要触发事件的地方加上:
var data = {
  name: '名字',
  type: '类型'
}//定义要发送到ionic的数据对象
window.parent.postMessage(data, '*');//创建向ionic代码中发送的事件(详细请直接百度该事件用法)
然后在ionic代码中接收的时候:
window.addEventListener('message', function(event) {//接收iframe中发送过来的数据(详细用法请直接百度)
  console.log(event.data);//这个接收到的data就是在iframe中发送过来那个data    

  if(event.data) {
    this.iUrl = event.data.name;
  }
 
}

5.goBack() {   //返回事件
if(this.url == this.iUrl) {
this.navCtrl.pop();
}else {
window.history.back();
}
}

 

6.iframe在ios不显示的解决方法

在项目根目录下找到config.xml文件,找到<access origin="*" />,在他后面加入<allow-navigation href="*" />

posted @ 2019-06-20 11:35  进军码农  阅读(1842)  评论(0编辑  收藏  举报