app(ios、安卓)与h5交互的原理:
1、app向h5发送信息:调用window下的全局方法并向方法内传参
2、h5向app发送信息:以url跳转的形式完成,app会拦截h5的链接跳转,当监测到特定的url时,即触发h5与app的交互,如window.loacation.href = 'http://appName.local.com?action=actionName'
,action即为app端定义的交互方法名
app主动与h5交互
因为h5需要提供全局方法,普通html文件直接在window下挂一个方法即可,如:
window.fn = function(json){
// js
}
注意:
1、vue中的方法通常是写在vue实例的methods中的,app无法直接调用,此时在页面的mounted钩子里将方法挂在window下即可,注意直接放在created钩子里不行,可加1s延时,因为此时vue模板还未编译/挂载完成,例: