1.安卓交互
h5调用安卓方法
window.webview.xxx()
安卓调用h5方法, 方法需要在全局注册
window['showUnreadMsg'] = () => { this.$nextTick(() => { this.showUnreadMsg(); }) }
2. ios交互
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调用ios方法
setupWebViewJavascriptBridge(function(bridge){ bridge.callHandler('getPhoneNumber',(data) => { that.loginApp(data) }) })
ios调用h5方法, 同样需要全局注册
setupWebViewJavascriptBridge(function(bridge){ bridge.registerHandler('showUnreadMsg',(data,responseCallback)=>{ if(responseCallback){ that.showUnreadMsg(); } })
})