//桥接
function setupWebViewJavascriptBridge(callback) {
if (window.WebViewJavascriptBridge) {
return callback(window.WebViewJavascriptBridge)
}
if (window.WVJBCallbacks) {
return window.WVJBCallbacks.push(callback)
}
window.WVJBCallbacks = [callback]
let WVJBIframe = document.createElement(‘iframe’)
WVJBIframe.style.display = ‘none’
WVJBIframe.src = ‘https://bridge_loaded’
document.documentElement.appendChild(WVJBIframe)
setTimeout(() => {
document.documentElement.removeChild(WVJBIframe)
}, 0)
}
//注册方法 H5调用APP
function callhandler(name, data, callback) {
setupWebViewJavascriptBridge(function (bridge) {
bridge.callHandler(name, data, callback)
})
}
//注册方法 APP调用H5
function registerhandler(name, callback) {
setupWebViewJavascriptBridge(function (bridge) {
bridge.registerHandler(name, function (data, responseCallback) {
callback(data, responseCallback)
})
})
}
//定义个方法
function JAMS__mark(data) {
console.log(000);
if (/android/i.test(navigator.userAgent)) {
try {
// window.android.jsCallAiLiao(params);
window.jsCallAiLiao’sayHello’;
} catch (e) {
console.log(e);
}
} else if (/ios|iphone|ipod|pad/i.test(navigator.userAgent)) {
try {
console.log(1111);
callhandler(‘sayHello’, {‘a’:1}, res => {console.log(‘555’)});
// window.webkit.messageHandlers[‘sayHello’].postMessage(data);
} catch (e) {
console.log(2222);
console.log(e);
}
}
}
JAMS__mark(data)//执行