一.JSContext(方法1)
1.以前模式,实现native和web 之间交互,以前用的是第三方Hybird的框架
缺点:
a.每次都要集成Hybrid framework到工程,集成包会越来越大
b.第三方引入容易引入冲突
2.接下来准备采用的模式 用苹果自带API JSContext控件 实现native和web 之间交互
优点:简单通用,不需要集成第三方库
缺点:该API最低版本支持ios7.0
补充:由于所有webview都可以调用JSContext,所以iOS暂时不需要跟android那样封装一个webView
3JSContext如何使用
第一步引入库,同时在需要使用页面的地方引入头文件
Paste_Image.png
第二步在UIWebView的回调接口 捕获当前web view页面的JSConext(js上下文环境)
[webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
Paste_Image.png
第三步,根据捕获的 JSContext对象来实现native和Web之间的交互
a,场景1iOS调用js
Paste_Image.png
运行效果图
Paste_Image.png
b.场景2 js调用iOS (用的是block语句)
Paste_Image.png
运行效果图
Paste_Image.png
第四步 网页js函数参数约定
网页函数 forward(String objJson)
其中objJson 是json格式 解析出来是一个 NSDictionary,客户端根据获取他来实现业务跳转 基本上第一个是type区分业务,之后的参数就是对应type需要的参数
Paste_Image.png
该argDic 目前有如下类型,以后有需要还可以继续扩展:
type(跳转类型),url(跳转连接),subtype(子类类型), title(名字),等
Paste_Image.png
如果您发现本文对你有所帮助,如果您认为其他人也可能受益,请把它分享出去。