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)
我还没有尝试过使用 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)
| 归档时间: |
|
| 查看次数: |
5469 次 |
| 最近记录: |