flutter中如何将数据从父页面传递到webview页面?

Kev*_*ali 3 html javascript webview dart flutter

我想将字符串数据传递到 webview 页面,是否可以在 flutter 中做到这一点?因为我知道如何通过 contentWindow.postMessage() 使用 html 和 javascript 来实现它,但我不知道如何在 flutter 中实现它,谢谢。

这是我在 flutter 中显示 webview 的代码

Container(
                       height:500,
                        child: EasyWebView(
                            onLoaded: () {
                              print('loaded');
                            },
                            src: webviewsrc,
                            ),
                      ), 
Run Code Online (Sandbox Code Playgroud)

ric*_*aru 8

我还没有尝试过使用 EasyWebView,但我尝试过webview_flutter并且我可以使用其控制器运行 Javascript 命令。

在此示例中,我添加了一个scroll侦听器,用于检测页面是否滚动到最底部。

Widget _buildWebview(BuildContext context) {
WebViewController controller;

return WebView(
  javascriptMode: JavascriptMode.unrestricted,
  onWebViewCreated: (WebViewController webViewController) async {
    webViewController.clearCache();
    controller = webViewController;
    await controller.loadUrl('https://pub.dev/packages/webview_flutter');
  },
  onPageFinished: (String _) async {
    controller.evaluateJavascript('''
      window.addEventListener('scroll', function(e) {
        if ((Math.ceil(window.innerHeight + window.pageYOffset)) >= document.body.offsetHeight) {
          ScrollCallback.postMessage('END OF PAGE!!!');
        }
      });
    ''');
  },
  javascriptChannels: <JavascriptChannel>{
    JavascriptChannel(
        name: 'ScrollCallback',
        onMessageReceived: (JavascriptMessage message) {
          print(message.message);
        }),
  },
);
}
Run Code Online (Sandbox Code Playgroud)