h5调用IOS/安卓原生方法,原生调h5方法

2020-10-01  本文已影响0人  顺小星

之前也总结过h5调用原生的方法,但是写的不全。像调完原生之后,原生往往会有返回值,或者根据返回值的不同回调h5的方法。
1、判断机型

getType() {
                var u = navigator.userAgent;
                var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android安卓
                var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios苹果
                if (isAndroid) {
                    //如果是安卓
                      let obj = {
                        param:'123'
                    }
                    //androidMethodName是安卓定义的方法名称  跟h5无关  
                    Android.androidMethodName(obj)
                } else if (isiOS) {
                    //如果是IOS
                    let obj = {
                        param:'123'
                    }
                   //androidMethodName是IOS定义的方法名称   跟h5无关
                    window.webkit.messageHandlers.IOSMethodName.postMessage(obj);
                }
            },

2、调取原生方法之后的回调方法(回调的方法名跟原生约定好,你们方法名需一致,譬如此处规定接收方法为getResult),在created里面注册一下回调的方法

created() {
      window.getResult = this.getResult //注册到windows  调完原生方法之后 走h5的方法
},
methods: {
      getResult(res){
      //调用完成原生方法后,会走到这个方法
      }
}

今天是国庆,愿祖国繁荣富强,吾辈自强不息。

上一篇下一篇

猜你喜欢

热点阅读