在Android中,我可以添加javascript界面​​:

class JsInterface(private val onClose: () -> Unit) {
    @android.webkit.JavascriptInterface
    fun close() {
        onClose()
    }
}
...
addJavascriptInterface(JsInterface { [email protected]() }, "client")
如何在Flutter WebView或InAppWebView或其他软件包中与相同的

最佳答案

我建议您阅读this文章,在该文章中,他们会仔细阅读flutter_inappwebview。但是,请尝试以下代码示例以快速获得答案:

              InAppWebView(
                initialUrl: 'url',
                onWebViewCreated: (controller) =>
                    control.webController = controller
                      ..addJavaScriptHandler(
                        handlerName: 'serverSideJsFuncName',
                        callback: (data) {
                          // Catch and handle js function
                        },
                      ),
              )
另一方面,如果您想更新服务器端JavaScript,则可以通过InAppWebViewController进行如下操作:
  Future<void> evalJs(dynamic param) async {
    await webController.evaluateJavascript(
        source: "window.someFuncName( '$param ');");
  }

关于android - 如何在Flutter WebView或InAppWebView中添加JavaScriptInterface?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/63922504/

10-10 16:05