我正在尝试使用WKWebView
和Javascript接口实现Web与本机应用程序之间的通信。
我有一个UITableView
,每个UITableViewCell
都包含一个WKWebView
。
我为每个WKWebView添加一个WKUserContentController
,并在那些内容控制器中添加一个scriptMessageHandler
。
但是,在我的didReceiveScriptMessage方法中,我不知道哪个WKWebView
从Web接收到消息。
如何从WKWebView
方法访问didReceiveScriptMessage
?
确定哪个WKWebView收到消息的最佳方法是什么?
我的代码:
func userContentController(userContentController: WKUserContentController, didReceiveScriptMessage message: WKScriptMessage) {
if message.name == "callbackHandler"{
self.title = message.body as? String ?? "none"
}
}
WKWebView
初始化let config = WKWebViewConfiguration()
config.preferences.javaScriptEnabled = true
let contentController = WKUserContentController()
contentController.addScriptMessageHandler(self, name: "callbackHandler")
let webview = WKWebView(frame: CGRectZero, configuration: config)
最佳答案
看来WKScriptMessage具有一个称为webview的属性。
关于ios - 如何从iOS中的didReceiveScriptMessage访问WKWebView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43135301/