WKWebView

马杀鸡,魂斗罗

iOS下JS与OC互相调用WKWebView + WebViewJavascriptBridge(提供了能让js调用原生方法并拿到值的方法)

WKWebView的新特性和全面介绍

WKUserScript JS注入 不错的文章  

JS调用Native

通常情况,JS端通过window.webkit.messageHandlers.{NAME}.postMessage()这个方法,来给Native传值,并且调用Native方法,NAME是js和Native约定的注入model的名称,需要一致,js通常将一个字典对象传给Native

Native调用JS

以WKWebView为例 

[self.webView evaluateJavaScript:(这里写JS的函数,可以带参数,通常情况下,原生将参数通过这种方式传给JS) completionHandler:^(id _Nullable response, NSError * _Nullable error) {

}];

通常情况下,原生通过evaluateJavaScript后面执行的方法来携带参数给JS,但是开发中遇到了一个问题,就是js的代码执行的过程和OC之前存在一个微小的异步,导致有时候公共参数无法获取,于是,就找到了WebViewJavascriptBridge这个库,通过让js调用原生的方法,并且通过block返回参数给js

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容