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

本文详细介绍了H5如何根据用户代理判断机型,并调用Android和iOS原生方法。在安卓和iOS中分别使用不同的方法名进行调用,并在调用后通过回调函数处理原生返回值。作者在`created`钩子中注册了回调方法,并展示了在`getResult`方法中处理原生返回数据的示例。文章以国庆为结尾,表达了对祖国的祝福。
摘要由CSDN通过智能技术生成

之前也总结过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){

//调用完成原生方法后,会走到这个方法

}

}

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值