js与ios交互,使用WebViewJavascriptBridge
程序员文章站
2024-01-16 23:48:46
js与ios交互,使用webviewjavascriptbridge。
js与ios交互,使用webviewjavascriptbridge。
<pre class="brush:java;"> <button>点我</button> <input value="" id="res" type="text"></pre><p></p> <pre class="brush:java;"></pre> <strong>js端:</strong><br> <br> <p></p> <p>1,固定代码放js里:</p> <p></p><pre class="brush:java;"> function setupwebviewjavascriptbridge(callback){ if (window.webviewjavascriptbridge) { return callback(webviewjavascriptbridge); } if (window.wvjbcallbacks) { return window.wvjbcallbacks.push(callback); } window.wvjbcallbacks = [callback]; var wvjbiframe = document.createelement('iframe'); wvjbiframe.style.display = 'none'; wvjbiframe.src = 'wvjbscheme://__bridge_loaded__'; document.documentelement.appendchild(wvjbiframe); settimeout(function() { document.documentelement.removechild(wvjbiframe) }, 0) }</pre><br> <br> 2,封成函数方便后面交互时调用:<pre class="brush:java;">nativeinteractive=function(fn,obj){ setupwebviewjavascriptbridge(function(bridge) { if(obj){ bridge.callhandler('webview_call_native', obj, function(response) {}); } bridge.registerhandler('native_call_webview', function(data,response) { fn(data); }) }); }</pre><pre class="brush:java;"><pre class="brush:java;">native_call_webview是要接受ios端参数的函数名;<pre class="brush:java;">webview_call_native是要传参给ios的参数名;</pre><p></p> <pre class="brush:java;"></pre> 这两个名字要与ios端协商好; <pre class="brush:java;"></pre> 3,调用: <p></p> <p></p><pre class="brush:java;">$("button").click(function(){ var native=function(data){//ios向js传参是data if(data.say=="yes"){ $("#res").val(data.iossay); } responsecallback({'jssay': 'yes'});//回复ios } var requesth5={//向ios传参 user_id:"js001", jssay:"can you hear me?" } nativeinteractive(native,requesth5); })</pre><br> <br> <p></p> <p><br> </p> <p></p> </pre></pre>
推荐阅读
-
js与ios交互,使用WebViewJavascriptBridge
-
JS正则中的match与exec使用说明
-
js 冒泡事件与事件监听使用分析_javascript技巧
-
Xinstall集成Android和iOS以及Web三端快速集成SDK与使用
-
使用flex中的httpservice方法与java进行交互
-
原生iOS与js的交互
-
当iframe嵌入子网页时,如何使用js交互。比如父窗口iframe自适应子网页高度
-
js open() 与showModalDialog()方法使用介绍_javascript技巧
-
iOS与unity交互、opencv开发教程
-
iOS与H5交互(WKWbebView)