how to pass data from parent page to webview page in flutter?
2,002
I haven't tried using EasyWebView, but I tried webview_flutter and I can run a Javascript command using its controller.
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);
}),
},
);
}
Author by
Kevin Mali
Updated on December 26, 2022Comments
-
Kevin Mali over 1 year
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, ), ),