我正在尝试在我的iOS应用中使用WKScriptMessageHandler来捕获来自javascript的某些消息。
我正在使用javascript中的函数进行此操作:
var dict = { "favourite": "true", "id": "id" };
webkit.messageHandlers.callbackHandler.postMessage(dict);
在iOS中,我像这样设置WebView:
let contentController = WKUserContentController()
contentController.add(self, name: "callbackHandler")
let config = WKWebViewConfiguration()
config.userContentController = contentController
webview = WKWebView( frame: view.bounds, configuration: config)
view.insertSubview(webview!, at: 1)
在loadView()方法中。
我的ViewController实现WKScriptMessageHandler及其方法userContentController,如下所示:
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
print("in")
}
但是无论我如何尝试,都不会调用方法userContentController。
答案 0 :(得分:0)
使该类符合协议“ WKScriptMessageHandler”
class MyClass : WKScriptMessageHandler{
}