Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/90.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在Flatter中将数据从父页面传递到webview页面?_Javascript_Html_Flutter_Dart_Webview - Fatal编程技术网

Javascript 如何在Flatter中将数据从父页面传递到webview页面?

Javascript 如何在Flatter中将数据从父页面传递到webview页面?,javascript,html,flutter,dart,webview,Javascript,Html,Flutter,Dart,Webview,我想将字符串数据传递到webview页面,是否可以在Flatter中执行此操作?因为我知道如何通过contentWindow.postMessage()使用html和javascript,但我不知道如何在Flatter中实现它,谢谢 这是我在flatter中显示webview的代码 Container( height:500, child: EasyWebView(

我想将字符串数据传递到webview页面,是否可以在Flatter中执行此操作?因为我知道如何通过contentWindow.postMessage()使用html和javascript,但我不知道如何在Flatter中实现它,谢谢

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

Container(
                       height:500,
                        child: EasyWebView(
                            onLoaded: () {
                              print('loaded');
                            },
                            src: webviewsrc,
                            ),
                      ), 

我还没有尝试使用EasyWebView,但我尝试过,我可以使用它的控制器运行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);
        }),
  },
);
}
Widget\u buildWebview(BuildContext上下文){
网络视图控制器;
返回WebView(
javascriptMode:javascriptMode.unrestricted,
onWebViewCreated:(WebViewController WebViewController)异步{
webViewController.clearCache();
控制器=webViewController;
等待控制器。加载URL('https://pub.dev/packages/webview_flutter');
},
onPageFinished:(字符串)异步{
controller.evaluateJavascript(“”)
window.addEventListener('scroll',函数(e){
if((Math.ceil(window.innerHeight+window.pageYOffset))>=document.body.offsetHeight){
ScrollCallback.postMessage('页面末尾!!!');
}
});
''');
},
JavaScriptChannel:{
JavascriptChannel(
名称:'ScrollCallback',
onMessageReceived:(JavascriptMessage消息){
打印(message.message);
}),
},
);
}