WKWebView交互之js调用oc

首先加载一个网页:

WKWebView交互之js调用oc_第1张图片
加载一个网页

第一种情况:js调用oc

首先讲一下原理:

WKUserContentController:

A WKUserContentController object provides a way for JavaScript to post messages and inject user scripts to a web view.

WKUserContentController提供了一种方式让js可以发送消息和注入脚本到web view。

简单来说就是js通过它来给对象发送消息。前提是你得提前配置。 WKUserContentController是js和webview沟通的桥梁。每一个webview的配置对象都有一个WKUserContentController。

oc端实例代码:

1.注册消息

注册消息

2.收到消息的代码

WKWebView交互之js调用oc_第2张图片
oc代码

js端代码:

WKWebView交互之js调用oc_第3张图片
js代码



需要注意的问题:这里存在循环引用的问题:

self间接引用userContentController,userContentController又引用了self。因此存在循环引用的问题。我们需要做的是下边的操作:

打破循环

你可能感兴趣的:(WKWebView交互之js调用oc)