webview 模拟点击_iOS 开发实现WKWebView点击事件处理,响应并处理点击事件。(交互处理2)2018-05-07...

本文探讨了iOS开发中客户端与前端的交互处理,详细讲解了如何在WKWebView中处理JS调用OC函数以及OC调用JS函数的实现方式。通过`webView:decidePolicyForNavigationAction:decisionHandler:`方法,监听网页导航动作,根据scheme和host判断并处理事件,提取JS传递的参数。同时介绍了如何通过WKWebView调用预先约定的JS函数,将数据传递给前端。

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

1、JS调用OC函数;

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

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

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

7622f5e3b2a1

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

7622f5e3b2a1

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

7622f5e3b2a1

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

2、OC调用JS函数

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

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

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

7622f5e3b2a1

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值