# H5和安卓_ios_交互 **Repository Path**: lsx589/h5_and_android_ios_interaction ## Basic Information - **Project Name**: H5和安卓_ios_交互 - **Description**: H5和安卓_ios_互相交互 - **Primary Language**: JavaScript - **License**: AFL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2019-05-30 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # H5和安卓_ios_交互 #### 介绍 H5和安卓_ios_互相交互 ### **_ios_** 第一步,告诉ios调用H5的哪个方法(register) vue(不是脚手架) window['register'] = function() {//告诉ios调用H5的哪个方法(register) _this.register() } vue脚手架https://blog.csdn.net/qq_30932479/article/details/89087429 mounted(){ window.payResult = this.payResult }, 第二步,定义一个方法接收ios的返回值 register:function(str){//随意定义一个方法接收ios的返回值 str是ios方返回的状态值 if(str){ alert(1)如果有弹1 }else{ alert(2) } }, 第三步,调取ios的方法 var obj = { phone:this.newPhone, verificationCode:this.phoneCode, lotNumber:this.lotNumber, isBlackPhone:this.blackPhone } 最后,接收ios方法并把参数传给ios **注:接收ios方法并传参(postMessage(obj)),参数必须传,如果没有参数可传那就传随意字符串postMessage('ios')** window.webkit.messageHandlers.newPackage.postMessage(obj);//接收ios的方法并把参数传给ios obj是传给ios的参数, newPackage是ios的方法 ### **_安卓_** 就一步 newPackage(str) //str是传给安卓的参数,newPackage是安卓方写的方法 ### **_ :anger: 总结_** 例如newPackage是注册的方法,如果是自己调取注册的方法,那么需要自己写个方法调取接口并传参拿到后台返回的状态, (注册成功或失败),然而现在你太懒了不想自己掉接口,想求助一下原生,于是乎人家原生用人家的语言代你写了注册的方法,并把方法名 告诉你,自己接收人家的方法并把参数传给人家,让人家完成注册的流程,给你返回状态(不返回也行) ### 具体代码里附获取地址栏参数的方法和倒计时方法