OC与JS交互总结

OC与JS交互的4种方式

1 UIWebView

1.1 直接URL拦截

JS调OC

shouldStartLoadWithRequest

OC调JS

stringByEvaluatingJavaScriptFromString

1.2 JS

JS调OC

self.jsContext[@"showMessage"]=^(){}这样的block回调执行代码块

OC调JS

jsContext evaluateScript

jsContext callWithArguments

warning:异常收集  JSContext.exceptionHander=^(JSContext *context,JSValue *exception){}

                  全局变量.  [self.jsContext evaluateScript:@"var arr =  [3,'Cooci','abc'];"

                 JS操作对象 JSExport

                 循环引用

                 block回来是子线程异步

2 WKWebView

2.1拦截URL

JS调用OC


OC调用JS


2.2MessageHandler

OC调用JS


JS调用OC


3 WebViewJavascriptBridge

JS调用OC

setupWebViewJavascriptBridge()调用

bridge.registerHandler('OCCallJSFunction',function(data,responseCallback){})所有要被调用OC的,都需要在这里注册

WebViewJavascriptBridge.callHandel('jsCallsOC',{'Cooci':'18'},function(response)JS调用OC的区域,可以穿参数)

OC调用JS

[self.wjb registerHandler:@"jsCallsOC" handler:^(id data,WVJBResponseCallback responseCallback){}];被JS调用回来的地方

[self.wjb callHandler:@"ocCallJSFunction" data:@"oc调用JS",responseCallback:^(id responseData){}];oc调用JS


4 Cordova


©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、简述 目前原生与JS交互的方式有以下几种 JavaScriptCore WKWebView 拦截URL Web...
    兔先森Amo阅读 5,341评论 0 4
  • WebViewJavaScriptBridge是IOS中JS和OC交互的常用框架,支持以下两种调用: 1. OC端...
    lim2阅读 695评论 0 0
  • 最近在做的项目重点就是原生app与js的交互,以前也做过但是并没有深入的了解和研究过,因为这个项目我尝试了三种方式...
    Www刘阅读 14,295评论 3 53
  • 最近在做的项目重点就是原生app与js的交互,以前也做过但是并没有深入的了解和研究过,因为这个项目我尝试了三种方式...
    百事小武阅读 4,435评论 0 6
  • 多米诺骨牌效应 2009年11月13日,魏捷斯多米诺公司在荷兰进行了一场破纪录的表演---4491863块多米诺骨...
    潘娜Alina阅读 548评论 0 1