black-eyes

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);
  }
}

 

分类:

技术点:

相关文章: