h5调用app方法
先定义一个判断iso和android的方法,两者调用方式不一样
var client = getClient(); // 识别客户端 function getClient() { var u = navigator.userAgent; var isWeiXin = u.toLowerCase().match(/MicroMessenger/i) == "micromessenger" ? 1 : 0; var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios缁堢 if (isWeiXin) { return 3; } else if (isiOS) { //ios try { window.webkit.messageHandlers.jsCallToNativePages.postMessage("{}"); return 1; } catch (e) { return 5; } } else { //android try { window.Android.jsCallToNativePages("{}"); return 2; } catch (e) { return 5; } } }
调用,1是iso环境,2是安卓环境
function jsCallToNativePages(type, url) { //params是携带的参数 var params = JSON.stringify({ type: type, url: url }); if (client == 1) { window.webkit.messageHandlers.jsCallToNativePages.postMessage(params); } else if (client == 2) { window.Android.jsCallToNativePages(params); } }