iOS中OC JavaScriptCore.framework框架的webView交互

iOS7之后苹果公司引入了JavaScriptCore.framework提供了更好的,快捷的,简单的js交互框架。但是iOS8之后苹果公司提供了WKWebView

以更好的交互,但是这个不支持 JavaScriptCore.framework框架的,以下是我学习的一点感悟与心得,如若写的不到位或者有不对的地方欢迎大家指出!现在咱们切入主题:

JavaScriptCore中类及协议:

JSContext:给JavaScript提供运行的上下文环境

JSValueJavaScriptObjective-C数据和方法的桥梁

JSManagedValue:管理数据和方法的类

JSVirtualMachine:处理线程相关,使用较少

JSExport:这是一个协议,如果采用协议的方法交互,自己定义的协议必须遵守此协议

JavaScriptCore.framework交互有二种:1.oc调用js

                                                        2.js调用oc(这里也分二种:1.通过方法名赋给一个block调用方法2.通过一个自定义的类的对象来调用方法)


现在咱们先来看第一种:1.oc调用js

iOS中OC JavaScriptCore.framework框架的webView交互_第1张图片
通过这个加载完成的代理方法来调用js代码或方法
此方法简单方便

2.js调用oc:先看第一种通过一个block直接调用
iOS中OC JavaScriptCore.framework框架的webView交互_第2张图片
其中test1可以有参数也可以没有参数 然后我们就可以在block里面执行我们自己需要用到的方法

2.利用自定义一个类来调用oc方法 但前提必须遵循 JSExport协议 

iOS中OC JavaScriptCore.framework框架的webView交互_第3张图片
然后在加载完成的代理方法里面调用就可以了
iOS中OC JavaScriptCore.framework框架的webView交互_第4张图片
代码下载:点击打开链接(demo里面的调用方法我是写一起的,都有明确的注释)


你可能感兴趣的:(iOS,webView交互,js交互)