记录JsBridge

JsBridge:java(ios为oc)和js的互相调用的桥梁

JS和Native交互:

JS是基于订阅和回调来实现Js和native交互的,我们需要在java中订阅,然后Js中回调,反之也可以。

registerHandler()用来注册一个java函数,来实现js回调的handler,也就是说当js点击某个Button的时候 会回调java的这个函数,第一个:订阅的方法名,第二个: 回调Handler ,  responseData,是js发送给java的值,function.onCallBack()会回调到js,调用js的方法function(responseData)

函数名必须和js同名函数,注册具体执行函数,类似java实现类

webView.registerHandler("load", new BridgeHandler() {

@Override

public void handler(String data, CallBackFunction function) {

function.onCallBack( data + “java”);

}

});

Js代码需要用window.WebViewJavascriptBridge.callHandler同步回调java层注册的同名函数,这和java和c库的jni调用如出一辙,方法名必须和Java层保持一致

window.WebViewJavascriptBridge.callHandler(

'open'

, {'param': data }

, function(responseData) {

alert('Js 收到你的:'+ responseData);

document.getElementById("open").innerHTML = "send get responseData from java, data = " + responseData;

}

);

第一参数:方法名

第二个:js调用native的请求参数

第三个:js在被回调后具体执行方法,responseData为java层回传jsonStr.

总结:其实说到底,js和java的交互就是一个注册,一个回调,js要调用java的话 就是js callHandler,java registerHandlers,如果 java调用js的话,就是java callHandler,js registerHandler,


WebView:一个控件,用于加载页面

WebViewClient:辅助WebView执行处理各种响应请求事件,比如:onPageFinish,onPageError

WebChromeClient :主要辅助WebView处理Javascript的对话框、网站Logo、网站title、load进度等处理。

CookieSync:是用来管理Cookie的,主要来管理cookie相关

CookieSyncManager继承WebSyncManager,来管理同步cookie相关

缓存:

LOAD_CACHE_ONLY: 不使用网络,只读取本地缓存数据

LOAD_DEFAULT: 根据cache-control决定是否从网络上取数据。

LOAD_CACHE_NORMAL: API level 17中已经废弃, 从API level 11开始作用同LOAD_DEFAULT模式

LOAD_NO_CACHE: 不使用缓存,只从网络获取数据.

LOAD_CACHE_ELSE_NETWORK,只要本地有,无论是否过期,或者no-cache,都使用缓存中的数据。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、WebView 谷歌提供的系统组件,用来加载和展现html网页,其采用webkit内核驱动,来实现网页浏览功能...
    闲庭阅读 7,254评论 2 12
  • WebView·开车指南 目录 WebView简介 WebView基本使用 WebView常用方法 WebSett...
    小庄bb阅读 3,681评论 3 25
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 35,144评论 18 399
  • Tips 由于WebView的用法实在太多,如果您只是想查询某个功能的使用——建议Ctrl+F(Commad+F)...
    BugDev阅读 7,941评论 11 109
  • 很喜欢拍照,喜欢记录生活的点滴,更喜欢分享我认为好看的照片。 只是很想整理一下去年我所看过的风景,只是想要再次回味...
    我真的很帅气阅读 356评论 7 3

友情链接更多精彩内容