美文网首页
WKWebView的OC与JS交互

WKWebView的OC与JS交互

作者: 韩小木 | 来源:发表于2017-07-27 13:05 被阅读167次

    在应用中,有很多内容是利用iOS原生的webView承载的H5去显示的。所以,不可避免的会利用到OC与JS的交互。由于之前没有接触到这部分的内容,一直对这个交互的使用场景很模糊,通过近期的需求开发理解了一下这部分的交互使用。以下是我的见解与大家分享一下,也可以多多指教,共同学习:

    一.主要使用场景:
    1.获取绑定JS方法的返回值;
    2.在特定操作/时刻触发JS方法;
    3.将JS调用OC的结果返回给JS;

    二.OC调用JS
    在大部分交互中,是利用OC调用JS,也会为客户端的开发人员节约很多成本。目前在iOS8之后webView主要使用的是WKWebView,它相比于UIWebView,具有加载速度更快,占用内存少,支持了更多的HTML5特性的等特点。
    我们可以利用- evaluateJavaScript:completionHandler:方法,调用JS的方法获取到count,在回调中得到返回值。

    OC调JS.png

    也可以利用该方法传值给JS

    三.JS调用OC
    相当于提前埋好点,等待注入的JS方法返回结果进行相应的操作。通过WKScriptMessageHandler的代理方法接收到相应的WKScriptMessage并进行处理。

    1.在创建配置webView的时候注入JS


    注入JS.png

    2.利用WKScriptMessageHandler的代理方法接收WKScriptMessage进行相应操作


    JS调OC.png

    总结:无论前端与客户端的交互是谁调用谁,其实都是可以的,看业务的需求、交互而定。所以只需认真分析交互的具体内容是为了实现什么效果,如何配合即可。

    相关文章

      网友评论

          本文标题:WKWebView的OC与JS交互

          本文链接:https://www.haomeiwen.com/subject/suhzkxtx.html