美文网首页
关于JS与OC交互的简单总结

关于JS与OC交互的简单总结

作者: 低调的吃客 | 来源:发表于2017-05-07 19:35 被阅读0次

此文为作者2014年5月在CSDN的博客中发表。测试下简书的效果。

虽然Xcode中自带webView的stringByEvaluatingJavaScriptFromString; 这种与JavaScript交互的方法,但这只是OC主动与JS进行单项交互的方法,并且没有返回值。在很多用到UIWebView控件的项目中,都需要实现OC和JS之间的双向交互,这时候,我个人习惯用‘WebViewJavascriptBridge’这个开源库;

下载链接:http://download.csdn.net/detail/zyjn2012/7302065

这个类库包括这三个文件,两个OC文件和一个JS脚本文件;

首先双向交互的原理是:类似于iOS中的notificationCenter的原理。如果OC需要主动调用JS,那么JS需要先注册一个侦听事件"

bridge.registerHandler('testJavascriptHandler',function(data, responseCallback)",当OC向JS发送"callHandler:@"testJavascriptHandler"data:dataresponseCallback:^(idresponse){}

"事件的时候,JS会通过’testJavascriptHandler‘这个字段调用侦听事件中的function()函数,返回参数data 给OC,OC就会在相对应的block代码块中收到返回值并进行相对应的代码处理。

反之是相同的原理:JS主动调用OC时,OC需要先注册一个侦听事件“registerHandler:@"testObjcCallback"handler:^(iddata,WVJBResponseCallbackresponseCallback){}”,当JS向OC发送“bridge.callHandler('testObjcCallback', {'foo':'bar'},function(response) {  })”时,会通过"testObjctCallback"字段调用侦听事件中的函数,返回data给JS。

在OC与JS进行交互的时候,一方如果发送send方法,另一方必须有init的方法与之对应;

至于WebViewJavascriptBridge这个开源库的需要用的方法的详细注解在我的Demo中都有提到,中文注释!!!

例如:

相关文章

  • IOS中OC与JS交互(一)

    随着程序的开发,发现IOS中使用OC和js的交互越越多,这里就先做以下对简单的OC与JS交互,进行总结。总体效果如...

  • iOS(OC\swift)-javascript交互

    OC与JS的交互 OC调用JS GitHub这是我写的一个简单OC与JS的交互,这个demo使用的是JavaScr...

  • OC与JS交互

    OC与JS交互前言 OC与JS交互之UIWebView OC与JS交互之WebViewJavascriptBrid...

  • oc 与js 的原生交互

    参考 总评: oc 与js的交互,1.有原生的方式,oc 调js简单,js调oc 麻烦(协议拦截"实现的交互方式)...

  • JS与OC交互大总结之二--OC调用JS

    我们接着来聊一聊JS与OC交互的那些事儿。上一篇只介绍的了JS调用OC的方法:JS与OC交互大总结之一 JS调用O...

  • 关于JS与OC交互的简单总结

    此文为作者2014年5月在CSDN的博客中发表。测试下简书的效果。 虽然Xcode中自带webView的strin...

  • [iOS]JS与原生OC互相调用(总结)

    iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两...

  • iOS下JS与原生OC互相调用(总结)

    iOS开发免不了要与UIWebView打交道,然后就要涉及到JS与原生OC交互,今天总结一下JS与原生OC交互的两...

  • WebView与JS的几种交互

    最近整理了一下原生与H5之间的交互方式,简单的做个总结。OC端与JS的交互,大致有这几种:拦截协议、JavaScr...

  • UIWebView之JS与OC交互(三)

    前言 基于UIWebView的JS与OC交互(一)之JSExport基于UIWebView的JS与OC交互(二)之...

网友评论

      本文标题:关于JS与OC交互的简单总结

      本文链接:https://www.haomeiwen.com/subject/yvcptxtx.html