What is JsBridge
近期在做一个项目,使用的是Native+H5的方式实现的。众所周知的是在Android中,Webview所实现的java与js的交互存在一些安全问题,并且这样的使用方式,没法让一套H5同时适配Android和iOS两个平台,因此,就需要有一个中间组件来实现js与本地的代码的交互,也就是JsBridge。
在Android平台我们选用了开源项目。整个库的结构也比较简单:一个用来注入的js文件,一个自定义的Webview(包括webViewClient),以及作为载体的BridgeHandler。
JsBridge的使用
在介绍JsBridge的原理之前,先简单介绍下JsBridge的使用,也可以看github上的表述。
JsBridge库集成
集成的方式有很多种:使用作者推荐方式:repositories {
maven {url "https://jitpack.io"}
}
dependencies {
compile 'com.github.lzyzsd:jsbridge:1.0.4'
}使用源码集成
下载源码,将源码拷贝至自己的工程内,作为工程的文件。
自定义Module
下载源码,新建Module,将源码导入Module,并将项目依赖自定义的Module
使用JsBridge库提供操作给Js调用webView.registerHandler("submitFromWeb", new BridgeHandler(){
@