美文网首页我爱编程
iOS 开发实现WKWebView点击事件处理,响应并处理点击事

iOS 开发实现WKWebView点击事件处理,响应并处理点击事

作者: 噜噜噜噜噜噜噜噜 | 来源:发表于2018-05-25 18:52 被阅读0次

        在iOS开发中经常遇到客户端与前端进行交互处理,JS调用OC或者OC调用JS都需要提前商量好,本文就从这两个角度讨论实现方式。

       1、JS调用OC函数;

        客户端加载网页出来后,这个时候我们点击网页上的标签或者按钮的时候就会响应这个函数,

    - (void)webView:(WKWebView*)webView decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction decisionHandler:(void(^)(WKNavigationActionPolicy))decisionHandler

    我们可以获取scheme,根据scheme进行判断来做不同的事件处理;

    然后,获取host,这个host对应的就是前端传过来的函数名字,

    那我我们怎么提取前端传过来的参数呢,我们可以这么做,获取url里面的query然后通过‘&’和‘=’进行分割,分割出来的就是参数啦,获取到参数后你想干什么呢?自己想吧,我是这么干的:

    哈哈,到这里就把JS调用OC函数的过程全部实现了,下面我们再来讨论OC调用JS函数;

    2、OC调用JS函数

    我们怎么去传给前端一些需要的数据呢?那么当然也是要和前端提前商量好的,需要定义个函数名字,然后我们通过这个方法

    - (void)webView:(WKWebView*)webView decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction decisionHandler:(void(^)(WKNavigationActionPolicy))decisionHandler 

    获取到点击事件,然后在执行OC自带的一个与js交互的方法:

    看到了吗?红圈中的就是函数名字和参数,调用了这个函数后,我们就把参数给前端了,前端接收到参数后去做什么呢?你自己想吧,哈哈。

    相关文章

      网友评论

        本文标题:iOS 开发实现WKWebView点击事件处理,响应并处理点击事

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