WebViewJavaScriptBridge (swift版)
来源:互联网 发布:在线反馈系统php源码 编辑:程序博客网 时间:2024/06/05 12:41
最近swift已经更新到了swift4,趋向于稳定了。公司项目不是很紧张就继续学习swift。
一直在想做什么项目,可以一边写项目一边学swift,然后想到可以写公司的项目。一方面,如果以后更换为swift,能提前考虑,或者换到下家公司说不定用的就是swift。因为公司项目用到WebViewJavaScriptBridge,然后在GitHub上面又一直没找到,所以就想移植到swift3 上。如果需要oc 版本请移步WebViewJavascriptBridge
SwiftWebViewJavascriptBridge
现在多是支持iOS8以上的,用wkwebview的已经很多了。所以这里也就移植了webview ,其实UIWebView 也是同理的。同样都是调用代理方法。废话不多说,上代码。
用法和WebViewJavaScriptBridge 一样的,因为本来就是移植的。
这个主要以学习为主,虽然网上已经有了SwiftWebViewBridge
1.Native -> JS
self.bridge?.callHandler(handlerName: "native_call_webview", data: "{\"param\":{\"typeId\":\"10122\",\"starttime\":\"2017-11-02\",\"endtime\":\"2017-11-04\"}}")
然后内部会将数据转化为js接受格式,然后在通过webview的方法
evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Swift.Void)? = nil)
来把数据传给js里面的回调。这里其实少说了一步,就是register 第一次注册的时候,会给webview 注入一段js代码。这段代码,就是用来和前端原生发出的js进行响应的。
js->native
这个无非还是要走代理方法的,方式还是通过截取url 来判断是否方式,响应webview
这个有三个阶段
1、注册,webview 加载一段js代码
2、js会触发代理方法 第一个url 是用来桥接的,比较像网络请求,确认桥接
3、js 再出发代理方法,固定url ,说我要发信息,然后本地再运行一段js出发webview 给数据
其实真的就那么简单,在没找到swift 版的桥接之前,就每个方法加断点。一步一步走就好了。经常报错,不懂的语法当场度娘,即学即用。
GitHub代码SwiftWebViewJavaScriptBridge
路过有用的,给个star,谢谢。
- WebViewJavaScriptBridge (swift版)
- WebViewJavascriptBridge
- WebViewJavascriptBridge
- WebViewJavascriptBridge
- iOS开发之Objective-C(Swift)与JavaScript交互·WebViewJavascriptBridge使用篇
- X5、WebViewJavascriptBridge、百度地图网页版 整合注意事项
- UIWebView---WebViewJavascriptBridge
- WebViewJavascriptBridge使用
- WebViewJavascriptBridge使用
- WebViewJavascriptBridge使用
- WebViewJavascriptBridge 解析
- 关于WebViewJavascriptBridge
- WebViewJavascriptBridge学习
- WebViewJavascriptBridge使用
- WebViewJavascriptBridge解析
- WebViewJavascriptBridge使用
- WebViewJavascriptBridge初识
- WebViewJavascriptBridge解析
- java传值还是传引用论述
- matlab2014a连接vs2013编译器mex出错
- Java框架篇---Mybatis 构建SqlSessionFactory
- maven学习笔记
- LTE里的功率分配和功率控制
- WebViewJavaScriptBridge (swift版)
- 探索SpringCloud 二(服务注册和发现)
- 当前流行的J2EE WEB应用架构分析
- newFixedThreadPool
- 自定义
- mongoose自动记录操作时间(timestamps妙用)
- 通过Callable接口实现多线程
- 简单的归并排序
- Windows10下VS2017配置OpenGL