WebViewJavascriptBridge实现js与android和ios原生交互
1、实现原生与js交互
<!--申明交互这段代码固定必须有-->functionsetupWebViewJavascriptBridge(callback){//android使用if(window.WebViewJavascriptBridge){callback(window.WebViewJavascriptBridge)}else{document.addEventListener('WebViewJavascriptBridgeReady',function(){callback(window.WebViewJavascriptBridge)},false);}//ios使用if(window.WebViewJavascriptBridge){returncallback(WebViewJavascriptBridge);}if(window.WVJBCallbacks){returnwindow.WVJBCallbacks.push(callback);}window.WVJBCallbacks=[callback];varWVJBIframe=document.createElement('iframe');WVJBIframe.style.display='none';WVJBIframe.src='https://__bridge_loaded__';document.documentElement.appendChild(WVJBIframe);setTimeout(function(){document.documentElement.removeChild(WVJBIframe)},0)}setupWebViewJavascriptBridge(function(bridge){//oc或android掉jsbridge.registerHandler('result',function(data,responseCallback){if(data.errorCode==null||data.errorCode=="")window.location.href="refresh.html?result=success";elsewindow.location.href="refresh.html?result=fail";});//js掉原生$(document).on('click','#call',function(){bridge.callHandler('call',{'sessionId':$.cookie("sessionId")},function(response){//处理oc过来的回调varresponseData={'JavascriptSays':'Rightbackatcha!'};responseCallback(responseData);});});});
<div><aid="call">跳转手机端></a></div>
参考:https://www.jianshu.com/p/e37ccf32cb5b
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。