【问题标题】:how to call a swift function with JS?如何用 JS 调用 swift 函数?
【发布时间】:2019-07-16 07:26:20
【问题描述】:
我应该在wkwebview中用JS调用一个swift函数,可惜我没有找到解决这个问题的办法。
到目前为止,我在 JS 页面上尝试的解决方案未定义 webkit 和 window.webkit 命令
window.webkit.messageHandlers.userLogin.postMessage();
webkit.messageHandlers.userLogin.postMessage();
【问题讨论】:
标签:
swift
webkit
swift4
wkwebview
【解决方案1】:
您需要创建一个消息处理程序来拦截此调用。首先你需要遵守WKScriptMessageHandler 协议。它需要你实现func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) 方法,这个方法是你处理来自你的JS页面的调用的地方。
告诉你的WKWebView你可以拦截JS调用。当您使用 WKWebView(frame: <your frame>, configuration: <your configs>) 对其进行初始化时,您需要将此消息处理程序作为配置添加到您的 webView 对象中