安卓IOS内嵌H5的相互通信

Posted Hello_nico

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了安卓IOS内嵌H5的相互通信相关的知识,希望对你有一定的参考价值。

一、h5触发安卓调用函数:

javascriptHandler.onActionResult(type)

1、JavascriptHandler是安卓定义的中间对象。

2、onActionResult为共同约定的方法名;type参数可传可不传(最好是传一下,ios中不传的话不能触发);

二、h5接收安卓返回的参数

window.reTvInfo = function(res){
     //监听到方法返回之后逻辑处理
}

1、直接在window上挂载一个全局方法,安卓端调用之后,会触发js中的这个方法,如本例中的reTvInfo方法。res接收安卓返回的值

 

 

三、h5触发IOS调用函数

window.webkit.messageHandlers.partnerOpenScan.postMessage("调用扫码");

1、messageHandlers为IOS定义的中间量

2、partnerOpenScan为安卓端要调用的方法名=》意思是告诉IOS调用该方法

3、postMessage为固定写法

4、IOS中必须要传入参数。不然不能触发IOS方法

 

四、h5接收IOS返回值

window.partnerReturnInfo = function(dt){
       //监听到IOS返回之后的处理逻辑
}

 

五、总结

  安卓IOS内嵌h5的通信都是通过window全局量来实现,接收返回都是将函数挂载到window上,然后app端主动调用。

  触发方法会有所不同,特别要注意IOS必须带参才能触发

以上是关于安卓IOS内嵌H5的相互通信的主要内容,如果未能解决你的问题,请参考以下文章

app内嵌h5页面:前端与原生语言的配合

微信小程序内嵌webview,部分安卓机型无法打开h5界面

ios下app内嵌h5页面是video适配问题

ios内嵌h5的video标签,不显示视频第一帧,只显示了一个播放器,当点击播放了一次之后,才显示出了第一帧

移动端ios14版本h5无法

Android内嵌H5,安卓手机返回键点击无反应苹果手机返回键正常情况解决方案