【技巧】ionic与原生安卓/ios交互(iframe通用)

前提:ionic做的web页面嵌套在原生框架的app里面(此文章仅讲解ionic部分,原生部分略...)

分两种情况:
1、原生提供方法 —给—》 web调用
2、web提供方法 —给—》 原生回调

以下是我的需求:


image.png

上图是在原生js里面的写法,那我们在ionic里面应该怎么处理呢?

1、原生提供方法 —给—》 web调用
ts

declare let LmYunJs

LmYunJs.getGeolocationXY()  // 在需要的地方根据文档直接这样调用

2、web提供方法 —给—》 原生回调

  原生调用的是window下面的方法,所以我们要把ts里面的方法转成window下的先

ts

declare let appCallback_GeolocationXY


constructor(){
  //先把方法定义成window下的
  window.appCallback_GeolocationXY = (jsonParam) => {
      alert("成功进入异步回调:appCallback_GeolocationXY()");
      if (typeof (jsonParam) == 'string') {
        jsonParam = JSON.parse(jsonParam);
      }
      alert("lng=" + jsonParam.lng);
      alert("lat=" + jsonParam.lat);
    }
    
}

这样就完成了!

另外,如果你像检查方法是不是window下的你可以这样

console.log(window.appCallback_GeolocationXY)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容