在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/