单独的一个完整的判断的方法
// **支付方法**
function goToPay(query) {
console.log(query);
var data = {
'type': pay_type_code,
'query': query
};
var u = navigator.userAgent; //http请求用户代理头
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //Android终端
var isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
console.log('准备调起支付......');
//android的处理
if (isAndroid) {
mainBridge = webViewJavascriptBridge;
mainBridge.goToPay(JSON.stringify(data));
return; //android不调用,但是需要实现方法..
}
console.log('吊起支付');
//ios的处理
window.webkit.messageHandlers.goToPay.postMessage(data);
}
function aa() {
//判断当前系统设备,对应不同的下载链接
var u = navigator.userAgent;
var isAndroid = u.indexOf('Android') > -1 || u.indexOf('Adr') > -1; //android终端
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
// 安卓方法
}
if (isiOS) {
// ios方法
}
}
获取参数的方法
// 获取token
this.getToken = function() {
if (that.debug) {
console.log('mainBridge type is :', typeof that.mainBridge);
console.log('callback is type :', typeof callback);
}
//android的处理
if (that.isAndroid) {
if (typeof that.mainBridge == "undefined") {
console.log("android未初始化:WebDemo");
} else {
// 调用安卓方法,接收参数并return
return that.mainBridge.getToken();
}
}
//ios的处理
if (typeof that.mainBridge == "undefined") {
let iOSInfo = JSON.parse(JSON.stringify(window.iOSInfo));
return iOSInfo.token;
}
};
传递参数的方法
// 点击跳转到另一个页面 ,调用时传递 { href:'跳转的url地址' }
// bug:安卓智能接收字符串形式,所以需要把对象转化为字符串
// bug:如果无需传递参数的交互,不传参可能会失败,可以随便传个字符串 ‘1’ 即可
this.pageJump = function(query) {
if (that.debug) {
console.log('mainBridge type is :', typeof that.mainBridge);
console.log('callback is type :', typeof callback);
}
//android的处理
if (that.isAndroid) {
if (typeof that.mainBridge == "undefined") {
console.log("android未初始化:WebDemo");
} else {
that.mainBridge.pageJump(JSON.stringify(query));
}
return; //android不调用,但是需要实现方法..
}
//ios的处理
if (typeof that.mainBridge == "undefined") {
console.log('...................');
console.log(query);
window.webkit.messageHandlers.pageJump.postMessage(query);
}
}