ionic iframe后退 iframe调用ionic代码

一.ionic中 控制iframe框架内页面的返回。

在ionic的后退按键操作里 把原有的默认返回【可能是$ionicHistory.goBack();或$rootScope.$ionicGoBack();(这两种返回方式只能返回在ionic路由中定义的地址,响应不到嵌套的iframe里面的返回操作)】替换为【navigator.app.backHistory();或window.history.back();(这两种返回方式相当于可以响应到ionic路由中定义的地址+iframe里的相关返回前进操作)】

具体代码如下:

$ionicPlatform.registerBackButtonAction(function(e) {//ionic中按返回键事件
  if ($ionicHistory.backView()) {        
    navigator.app.backHistory();//原有可能是$ionicHistory.goBack();或$rootScope.$ionicGoBack();
    //navigator.app.backHistory();是cordova对navigatorJS对象进行的又一次封装,如果要同时兼容APP+网页 可以使用window.history.back();代替
  }
  e.preventDefault();//阻止默认返回操作
  return false;
}, 101);//101为优先级,默认是100

二.iframe框架中的页面调用ionic代码:

首先在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      
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值