1.H5调用Android、IOS的方法
/**
* 安卓IOS交互
* webViewName是webview名称
* 传入的name是方法名称
* 传入的query是参数
*/
const appMutual = (name, query = null, errCallback) => {
if (/android/i.test(navigator.userAgent)) {
if (window.webViewName) {
window.webViewName[name](query);
} else {
errCallback && errCallback();
}
} else if (/ios|iphone|ipod|pad/i.test(navigator.userAgent)) {
if (window.webkit) {
window.webkit.messageHandlers[name].postMessage(query)
} else {
errCallback && errCallback();
}
}
};
//使用
http.appMutual("jumpLogin", null, function () {
//未检测到方法时回调
})
2.Android、IOS调用H5的方法
//app访问方法
//methodName是方法名称
window.methodName = function (query) {
//需要执行的方法
return 1; //可以返回app数据,注意:异步方法和阻塞进程的方法无效
}