5

我正在使用 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。

4

0 回答 0