使用WKWebView和H5交互

WKWebView

2017-01-19  本文已影响41人  macfai

马杀鸡,魂斗罗

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

上一篇下一篇

猜你喜欢

热点阅读