我正在使用 WebViews 开发一个混合的 Android 和 iOS 应用程序。但是,我正在努力将数据从 iOS 应用程序返回到我的 Javascript。
下面是我如何设置 WebView 以从我的 JavaScript 函数接收数据。
private lazy var webViewConfiguration: WKWebViewConfiguration = {
let configuration = WKWebViewConfiguration()
configuration.userContentController.add(self, name: "loginController")
return configuration
}()
extension ApplicationController: WKScriptMessageHandler {
func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if (message.name == "loginController"){
print("\(message.body)")
}
}
}
这就是我将数据传递给应用程序的方式。
webkit.messageHandlers.loginController.postMessage("Hello from JavaScript");
本质上,我想做的是能够从应用程序接收数据返回到我的 JavaScript 并按照以下方式做一些事情......
var response = webkit.messageHandlers.loginController.postMessage("Hello from JavaScript");
但我不知道如何从应用程序返回一些东西。我是斯威夫特的新手。然而,对于 Android 开发人员来说,它可以像向我的函数添加返回类型一样简单,但这不适用于 Swift。