如何在Flutter中将数据从父页面传递到WebView页面? [英] how to pass data from parent page to webview page in flutter?
本文介绍了如何在Flutter中将数据从父页面传递到WebView页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想将String数据传递到Webview页面,是否有可能做到这一点?因为我知道如何通过contentWindow.postMessage()使用html和javascript来做到这一点,但我不知道如何在颤抖中实现它,谢谢.
i want to pass a String data to a webview page, is it possible to do it in flutter? because i know how to do it using html and javascript via contentWindow.postMessage() but i don't know how to implement it in flutter, thanks.
这是我的代码,用于显示网络视图
This is my code in flutter to show the webview
Container(
height:500,
child: EasyWebView(
onLoaded: () {
print('loaded');
},
src: webviewsrc,
),
),
推荐答案
I haven't tried using EasyWebView, but I tried webview_flutter and I can run a Javascript command using its controller.
在此示例中,我添加了一个 scroll
侦听器,该侦听器可检测页面是否滚动到最底部.
In this example, I added a scroll
listener which detects if page is scrolled to bottom most.
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);
}),
},
);
}
这篇关于如何在Flutter中将数据从父页面传递到WebView页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文