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="*" />